Извлечение текста из PDF с Python в ответ - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь прочитать данные из PDF в python, и я пытаюсь использовать файл repl.it только потому, что проще тестировать разные библиотеки. Я пробовал PyPDF2 и PyPDF4, которые работают, но не дают пробелов. Тика дает мне ошибку запуска сервера, pdfminer не работает и pdfminer3 работает без пробелов. pdftotext не загружается должным образом. Мне было интересно, есть ли более четкая документация о том, как мой pdfminer3 дает пробелы, или есть еще библиотеки, чтобы попробовать.

Ответы [ 2 ]

0 голосов
/ 12 октября 2019
# import the libraries for PyDF2
import PyPDF2 
# Making a pdf file 
pdf_file = open('example.pdf', 'rb') 
# creat a pdf 
pdf_reader = PyPDF2.PdfFileReader(pdf_file) 
# print the number of pages in pdf 
print(pdf_reader.numPages) 
# creat the ojbct of pages 
page_obj= pdf_reader.getPage(0) 
# extracting text from page 
print(page_obj.extractText()) 
# closing the pdf file object 
pdf_file.close() 
0 голосов
/ 12 октября 2019

Дай Тике еще одну попытку? Из других постов я понял, что это довольно хорошее решение.

Я смог установить тика из инструкции здесь:

https://github.com/chrismattmann/tika-python

и успешно проанализировать тестpdf файл.

ШАГИ, КОТОРЫЕ Я СЛЕДУЕТ ИСПОЛЬЗОВАТЬ TIKA С PYTHON:

1) Установка (с помощью pip):

pip install tika

2) Создать и запустить скрипт тестового Python: (конечно, замените myfile.pdf на путь к вашему собственному файлу pdf)

#!/usr/bin/env python
import tika
tika.initVM()
from tika import parser
parsedPDF = parser.from_file('myfile.pdf')
print(parsedPDF["metadata"])
print(parsedPDF["content"])

Обратите внимание, что из-за вашей ошибки, когда сервер tika не запускается, вы можете также проверить этот пост:

Использовать tika с python, runtimeerror: не удалось запустить сервер tika

В настоящее время наиболее одобренный ответ на этот пост в основном говорит, что у вас установлена ​​Java, иваша установка на Java 8, так как для всех новых версий tika-server.jar потребуется Java 8.

Надеюсь, это поможет, и удачи!

...