问题描述
我试图使用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()
1楼
好的,我以不同的方式处理它。
由于使用了我使用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