【发布时间】:2018-12-01 19:04:25
【问题描述】:
我正在使用 PyPDF2 在 python 中读取 PDF 文件。虽然它适用于英语和欧洲语言(英语字母表),但图书馆无法阅读日语和中文等亚洲语言。我试过encode('utf-8')、decode('utf-8'),但似乎没有任何效果。它只是在提取文本时打印一个空白字符串。
我尝试过其他库,例如 textract 和 PDFMiner,但还没有成功。
当我从 PDF 复制文本并将其粘贴到笔记本上时,字符会变成一些随机格式的文本(可能采用不同的编码)。
def convert_pdf_to_text(filename):
text = ''
pdf = PyPDF2.PdfFileReader(open(filename, "rb"))
if pdf.isEncrypted:
pdf.decrypt('')
for page in pdf.pages:
text = text + page.extractText()
return text
谁能指出我正确的方向?
【问题讨论】:
-
您显示的代码似乎没问题。可能是 PDF 对文本的编码方式存在问题,或者库中存在错误。有一个open issue on Github 可能与您的问题有关。
-
你能提供一个样本PDF吗?我能想到一些可能的原因,但如果没有更多信息就很难说。
-
这里是日文 PDF 的链接 - drive.google.com/open?id=1OUO4XnbTcWgQdWZe59QUqEOnKVNDEJqv
标签: python unicode nlp text-extraction pdf-reader