pdf2txt — эквивалент в python

#python #pdfminer

#python #pdfminer

Вопрос:

Я пытаюсь извлечь пригодные для использования тексты из PDF-файлов. Но некоторые PDF-файлы, подобные этому, похоже, имеют определенный макет, потому что мой скрипт на python не может сохранять пробелы.

 def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, password=password, caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

print(convert_pdf_to_txt("1002459.pdf"))
 

Результат :

 - 1 -

Combininglearningandreasoning:newchallengesforknowledgegraphsFrankvanHarmelen∗∗DptofComputerScience,VrijeUniversite...
 

Итак, я попробовал с pdf2txt.py помощью команды. Тот же результат. Но я нашел вариант -A , который дает мне ожидаемый результат :

 - 1 -

Combining learning and reasoning: new challenges for

knowledge graphs

Frank van Harmelen∗
 

Могу ли я получить тот же результат с моим скриптом на Python?

Ответ №1:

Вы можете; просто скопируйте то, что -A делает. По сути, проблемный PDF-файл не «печатает» пробелы, а только слова, и анализ макета показывает, что в пробелах должны быть пробелы. pdf2txt активирует это с помощью настройки laparams.all_texts = True .

Комментарии:

1. Идеальный. Спасибо

Ответ №2:

Ну, вы можете сделать даже на Python, а также можете взломать код в приведенной ниже ссылке, который сделан на python

https://github.com/baruchel/txt2pdf

Комментарии:

1. Привет, Анкит, добро пожаловать в StackOverflow! Довольно неясно, что вы хотите сказать, можете ли вы уточнить, что вы имеете в виду и как предоставленная ссылка помогает ответить на вопрос?