Чтение 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
Другие вопросы по тегам