python - 无法使用 PyPDF2 从 PDF 文件中获取文本

标签 python pdf pypdf

我正在尝试从使用 PyPDF 下载的 PDF 文件中获取文本。 这是我的代码:

if not PyPDF2.PdfFileReader('download.pdf').isEncrypted:
    PyPDF2.PdfFileReader('download.pdf').getPage(0).extractText()

这是输出:

'\n\n˘ˇ˘ˆ˙\n˝˛˚˜!\n\n\n\n#\nˇ˘ˆ˙ˆ˝˛˝\n˙˙˘ ˘ˆ"˝\n$!%˙(˝)˙*˜+,˝-.#/.(#0)0)/.1.+02345.\n˛˛ˇ/#.$/0/70/#.+322.32˙˘˛˘˘\n˛˘ 8˙˘9:˘ˆ;\n˛˘\n\n˝=\n˙˘˛\n.ˇ<9:˘ˇˇ%˘˛ˇ ˘˘<˘\n˝>"?˝˘$@<˘*ˆˆ˘˙˘A˘B˘˙˘˛ˇ!˛˘˙˘˛ˇ˘\n1C˙ˆ˘06˛˘8+˛9:˘D10+E˝ˆ˘8\n$˘˘9:˘˘1C˙ˆ˘+˘F˛˘D$1+FE˝˘˛˘˘<˘?˝\n////)*˘1˘˛ ?GG˜*HI\nD˘˙A˘E\nJ$\n˛\nDLE///M˛˝˛˙˘˛˘˛\n˛˘˛>"?\n˙˘˛\n˛\n/)M6;˝˛˙˘˛˘\n˛\n///˛\n\n'

当我打开文件时,它的内容没有问题。此外,当我使用另一个程序将 pdf 转换为 txt 时,它工作正常。它是网页上的 javascript 呈现的 pdf,不知道它是否有任何区别。

最佳答案

在 Win 7、Python 3.6 下,我遇到了 PyPDF2 没有正确编码某些 PDF 文件的问题。我的解决方案是使用 pdfminer.six。

pip install pdfminer.six

要从 PDF 中提取文本,您可以使用本文中的函数:https://stackoverflow.com/a/42154976/9524424

非常适合我...

关于python - 无法使用 PyPDF2 从 PDF 文件中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52761057/

相关文章:

sas - 如何使用 SAS 程序从 PDF 读取数据

python - 使用python逐行读取pdf文件

python - 使用正则表达式匹配相同字符精确次数

java - 使用 java 进程生成器调用 Python 进程时出现问题

python - IPython 终端使用哪种字符编码?

python telebot得到了意外的响应

linux - itextpdf 字体未嵌入 Linux

xml - 如何在表格条目上强制换行

php - Laravel View 不适合 dompdf 生成的 pdf

python - Python 3 中的 PDF 合并