Проблемы с PyMuPDF извлечения простого текста - PullRequest
0 голосов
/ 04 июня 2018

Я хочу прочитать в файле PDF, используя PyMuPDF .Все, что мне нужно, это простой текст (не нужно извлекать информацию о цвете, шрифтах, таблицах и т. Д.).

Я попробовал следующее

import fitz
from fitz import TextPage
ifile = "C:\\user\\docs\\aPDFfile.pdf"
doc = TextPage(ifile)
>>> TypeError: in method 'new_TextPage', argument 1 of type 'struct fz_rect_s *'

, которое не работает, поэтомуЯ попробовал

doc = fitz.Document(ifile)
t = TextPage.extractText(doc)
>>> AttributeError: 'Document' object has no attribute '_extractText'

, который снова не работает.

Затем я нашел отличный блог от одного из авторов PyMuPDF, в котором есть подробный код для извлечения текста в порядке чтения из файла.Но каждый раз, когда я запускаю этот код с другим PDF, я получаю KeyError: 'lines' (строка 81 в коде) или KeyError: "bbox" (строка 60 в коде).

Я не могу опубликовать PDF-файлы здесь, потому что ониявляются конфиденциальными, и я ценю, что это было бы полезно иметь здесь.Но есть ли способ, которым я могу просто выполнить простейшую задачу, которую должен выполнять PyMuPDF: извлекать простой текст из PDF, неупорядоченный или иным образом (я не против)?

1 Ответ

0 голосов
/ 14 января 2019

Процесс извлечения текста в соответствии с вашим примером с использованием PyMuPDF:

import fitz
ifile = "C:\\user\\docs\\aPDFfile.pdf"
doc = fitz.open(ifile)
page_count = doc.pageCount
page = 0
text = ''
while (page < page_count):
    p = doc.loadPage(page)
    page += 1
    text = text + p.getText()
print(text)

Блог, за которым вы следили, великолепен, но немного устарел, некоторые методы устарели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...