当前位置: 代码迷 >> python >> 使用带有波兰语字符的pyPDF2阅读pdf
  详细解决方案

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

热度:106   发布时间:2023-07-16 11:21:16.0

我试图使用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()

好的,我以不同的方式处理它。 由于使用了我使用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
  相关解决方案