Domanda

Io sono l'estrazione di un pdf in immagini / swf e il testo con l'aiuto di SWFTools e XPDF .. sto facendo funzionare questi in uno script PDF.

Ma ora sto cercando di fare un passo avanti e cercare di ottenere il TOC dal PDF è possibile estrarre queste informazioni?

È stato utile?

Soluzione

Ho trovato questo con un po 'di ricerca. Sembra piuttosto promettente.

PDFMiner: http://www.unixuser.org/~euske/ python / pdfminer / index.html

Nota: Lo strumento si basa Python, ma si dovrebbe essere in grado di utilizzare lo strumento mediante l'accesso alla shell. In alternativa, si può essere in grado di raccogliere informazioni utili dal codice sorgente in sé, in quanto il progetto è open source.

Dal sito:

  

dumppdf.py

     

dumppdf.py dump il contenuto interno di un file PDF in formato pseudo-XML. Questo programma è principalmente a scopo di debug, ma è anche possibile estrarre alcuni contenuti significativi (ad esempio le immagini).

     

Esempi:

$ dumppdf.py -a foo.pdf
(dump all the headers and contents, except stream objects)

$ dumppdf.py -T foo.pdf
(dump the table of contents)

$ dumppdf.py -r -i6 foo.pdf > pic.jpeg
(extract a JPEG image)

Altri suggerimenti

ho provato dump.pdf -T, ma non ha funzionato su alcuni file PDF.

C'è un altro strumento da MuPDF chiamato mutool, che ho appena trovato. Non so se questo è meglio di dump.pdf ma ha lavorato su un file PDF dump.pdf genera un errore.

Ecco come estrarre TOC con mutool

mutool show {your-pdf-file} outline

MuPDF

In alternativa, è possibile utilizzare MuPDF che è un'implementazione abbastanza leggero ma completo PDF scritto C. Nel apps/ sottodirectory troverete alcuni strumenti che possono visualizzare, dump e estrarre informazioni da file PDF. Preferirei MuPDF su xpdf perché è attivamente tenuto e ha un migliore supporto PDF.

In caso contrario, c'è sempre Poppler , che è in realtà basata su xpdf. Gli sviluppatori porting suo codice in C ++. Quindi, è esegue peggio del suo predecessore. Rispetto al MuPDF, Poppler sembra avere un po 'più funzionalità, ma in cambio il codice è molto più complesso.

Per i vostri scopi MuPDF dovrebbe essere sufficiente però. Si potrebbe incidere insieme una semplice applicazione dal codice di esempio fornito nel apps/ che estrae tutte le informazioni necessarie senza fare affidamento su applicazioni esterne.

Credo che guardando PDFlib di PHP sarebbe un ottimo posto per inizio. Se si scorre verso il basso, vedrete un sacco di soluzioni user-postato per la conversione di PDF to HTML o PDF to Text. Dopo la conversione, una funzione match relativamente semplice potrebbe estrarre gli elementi TOC taggati e gettarle in un array, per esempio, che è quindi possibile manipolare a piacimento.

Questo StackOverflow messaggio ha anche alcuni più soluzioni.

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top