2015-09-19 6 views
19

Sto usando Python 3.4 e ho bisogno di estrarre tutto il testo da un PDF e quindi usarlo per l'elaborazione del testo.Miglior strumento per l'estrazione del testo da PDF in Python 3.4

Tutte le risposte che ho visto suggeriscono opzioni per Python 2.7.

Ho bisogno di qualcosa in Python 3.4.

Bonson

+3

Non so perché il voto negativo. Come ho detto, ho controllato tutto disponibile e anche su google. L'unico che ho trovato che può essere usato con Python 3.4 era in questo [dettaglio xPDF] (http://stackoverflow.com/questions/18320932/looking-for-recommendation-on-how-to-convert-pdf-into- strutturato-formato? lq = 1) tutti gli altri sono della versione 2.7. Non ho trovato nulla sulla versione 3.4 di Python. Richiesta di commentare anche quando è stato votato. – Bonson

risposta

33

È necessario installare il modulo PyPDF2 per essere in grado di lavorare con i PDF in Python 3.4. PyPDF2 non può estrarre immagini, grafici o altri media ma può estrarre testo e restituirlo come una stringa Python. Per installarlo esegui pip install PyPDF2 dalla riga di comando. Questo nome del modulo fa distinzione tra maiuscole e minuscole quindi assicurati di digitare "y" in minuscolo e tutti gli altri caratteri in maiuscolo.

>>> import PyPDF2 
>>> pdfFileObj = open('my_file.pdf','rb')  #'rb' for read binary mode 
>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 
>>> pdfReader.numPages 
56 
>>> pageObj = pdfReader.getPage(9)   #'9' is the page number 
>>> pageObj.extractText() 

ultima istruzione restituisce tutto il testo disponibile in pagina-9 del documento 'mio_file.pdf'.

+0

Ciao Ritesh, per caso sai che conosci l'anser per questa domanda. [Domanda] (http://stackoverflow.com/questions/32773517/python-based-pdf-mining-and-table-text-processing). – Bonson

+2

Correzione minore: pensate che ci siano quotazioni per "rb" nel comando open sulla riga due anziché solo rb. – kyrenia

+2

Inoltre, le pagine in pypdf2 sono indicizzate a zero, cioè 'getPage (9)' otterrà la pagina # 10. I numeri di pagina nel documento originale sono completamente ignorati da pypdf2. – nostradamus

0

pdfminer.six (https://github.com/pdfminer/pdfminer.six) è stato consigliato anche altrove e ha lo scopo di supportare Python 3. Non posso garantire personalmente per questo, poiché non è riuscito durante l'installazione di MacOS. (C'è un problema aperto per questo e sembra essere un problema recente, quindi potrebbe esserci una soluzione rapida.)

Problemi correlati