我正在编写一个脚本,它可以“读取”PDF文件,然后自动重命名它从字典中识别的文件。然而,对于某些PDF,PyPDF2只返回空行,而对于其他PDF则可以很好地工作。读取文件的代码:
import PyPDF2
# File name
file = 'sample.pdf'
# Open File
with open(file, "rb") as f:
# Read in file
pdfReader = PyPDF2.PdfFileReader(f)
# Check number of pages
number_of_pages = pdfReader.numPages
print(number_of_pages)
# Get first page
pageObj = pdfReader.getPage(0)
# Extract text from page 1
text = pageObj.extractText()
print(text)它确实获得了正确的页数,因此它能够打开PDF。
如果我将print(text)替换为repr(text)用于它不能读取的文件,我会得到如下结果:
"'\\n\\n\\n\\n\\n\\n\\n\\nn\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n'"奇怪的是,当我用Adobe增强(OCR)文件时,脚本的性能稍差一些。它识别了800个文件中的140个,增强后仅识别了110个。
PDF是机器可读/可搜索的,因为我可以将文本复制/粘贴到记事本。我用"pdfminer“测试了一些文件,它确实显示了一些文本,但也抛出了很多错误。如果可能的话,我喜欢继续使用PyPDF2。
我使用的软件规格:
窗口: 10.0.15063
Python: 3.6.1
PyPDF: 1.26.0
Adobe版本: 17.009.20058
谁有什么建议?非常感谢您的帮助!
https://stackoverflow.com/questions/45366890
复制相似问题