2015-09-19 10 views
19

Używam Pythona 3.4 i muszę wyodrębnić cały tekst z pliku PDF, a następnie użyć go do przetwarzania tekstu.Najlepsze narzędzie do ekstrakcji tekstu z pliku PDF w Pythonie 3.4

Wszystkie odpowiedzi, jakie widziałem, sugerują opcje dla Pythona 2.7.

Potrzebuję czegoś w Pythonie 3.4.

Bonson

+3

Nie wiem, dlaczego głosowanie w dół. Jak już wspomniałem, sprawdziłem wszystkie dostępne, a także w google. Jedyny, który znalazłem, który może być użyty z Pythonem 3.4, był w tym [Szczegóły xPDF] (http://stackoverflow.com/questions/18320932/looking-for-recommendation-on-how-to-convert-pdf-into- format ustrukturyzowany? lq = 1) wszystkie pozostałe są w wersji 2.7. Nic nie znalazłem w wersji 3.4 Pythona. Prośba o komentarz także w przypadku głosowania. – Bonson

Odpowiedz

33

Musisz zainstalować moduł PyPDF2 aby móc pracować z plikami PDF w Pythonie 3.4. PyPDF2 nie może wyodrębnić obrazów, wykresów lub innych mediów, ale może wyodrębnić tekst i zwrócić go jako ciąg znaków w języku Python. Aby go zainstalować, uruchom polecenie pip install PyPDF2 z wiersza poleceń. W nazwie tego modułu rozróżniana jest wielkość liter, dlatego należy wpisać "y" małymi literami, a wszystkie pozostałe znaki dużymi literami.

>>> 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() 

ostatnie oświadczenie zwraca cały tekst, który jest dostępny na stronie 9 dokumentu "my_file.pdf".

+0

Witaj Ritesh, Przez przypadek znasz anser na to pytanie. [Pytanie] (http://stackoverflow.com/questions/32773517/python-based-pdf-mining-and-table-text-processing). – Bonson

+2

Drobna korekta - pomyśl, że nie będzie cytatów dla "rb" w otwartym poleceniu na linii drugiej, a nie tylko rb. – kyrenia

+2

Ponadto strony w pliku pypdf2 są indeksowane od zera, tzn. 'GetPage (9)' spowoduje wyświetlenie strony # 10. Numery stron w oryginalnym dokumencie są całkowicie ignorowane przez pypdf2. – nostradamus

0

pdfminer.six (https://github.com/pdfminer/pdfminer.six) również została polecona w innym miejscu i jest przeznaczona do obsługi Pythona 3. Nie mogę jednak ręczyć za to, ponieważ nie udało się to podczas instalacji MacOS. (Istnieje otwarty problem i wydaje się, że jest to ostatni problem, więc może być szybka naprawa.)

Powiązane problemy