使用带有波兰语字符的 pyPDF2 阅读 pdf

Reading pdf using pyPDF2 with polish characters

我正在尝试使用 PyPDF2 库读取由波兰语字符(例如 ń、ś 等)组成的 pdf 文件,但在使用 extractText() 函数后,输出字符串缺少波兰字符。有没有办法仍然使用 PyPDF2 库,但首先正确编码、解码 pdf 文件? 我试图用 encoding='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()

好吧,我用不同的方式处理了它。由于 jmcarp github 我使用 pdfminer 使用 UTF-8 编码从我的 pdf 文件中提取文本,一切正常(没有丢失任何波兰语字符)。我正在发布工作代码的片段:

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