Чтение PDF с использованием pyPDF2 с польскими символами
Я пытаюсь использовать PyPDF2
библиотека для чтения PDF-файла, состоящего из польских символов (например, ń, ś и т. д.), но после использования extractText()
функция, выходная строка не имеет польских символов. Есть ли способ по-прежнему использовать библиотеку PyPDF2, но сначала правильно кодировать, декодировать файл PDF? Я пытался открыть файл с кодировкой ='utf-8' и 'latin-1', но безуспешно. Спасибо за любую помощь!
Фрагмент кода:
file = open(myPDFfile, "rb")
pdfreader = PyPDF2.PdfFileReader(file, strict=True)
page_obj = pdfreader.getPage(0)
page_txt = page_obj.extractText()
page_txt_split = page_txt.split()
1 ответ
Решение
Хорошо, я имел дело с этим по-другому. Из-за jmcarp Github я использовал pdfminer
извлечь текст из моего PDF-файла, используя кодировку UTF-8, и все работает просто отлично (не пропуская ни одного символа польского). Я публикую фрагмент рабочего кода:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from cStringIO import StringIO
def pdf_to_text(pdfname):
# PDFMiner boilerplate
rsrcmgr = PDFResourceManager()
sio = StringIO()
device = TextConverter(rsrcmgr, sio, codec='utf-8', laparams=LAParams())
interpreter = PDFPageInterpreter(rsrcmgr, device)
# get text from file
fp = file(pdfname, 'rb')
for page in PDFPage.get_pages(fp):
interpreter.process_page(page)
fp.close()
# Get text from StringIO
text = sio.getvalue()
# close objects
device.close()
sio.close()
return text