Python 不使用 pyPDF2 打印 PDF
Posted
技术标签:
【中文标题】Python 不使用 pyPDF2 打印 PDF【英文标题】:Python does not print PDF with pyPDF2 【发布时间】:2020-04-21 19:58:11 【问题描述】:我尝试打印 pdf 文档的页面:
import PyPDF2
FILE_PATH = 'my.pdf'
with open(FILE_PATH, mode='rb') as f:
reader = PyPDF2.PdfFileReader(f)
page = reader.getPage(0) # I tried also other pages e.g 1,2,..
print(page.extractText())
但我只得到很多空白,没有错误消息。难道PyPDF2不支持这个pdf版本(my.pdf)?
这解决了它(打印文档的所有页面)。谢谢
from pdfreader import SimplePDFViewer
fd = open("my.pdf", "rb")
viewer = SimplePDFViewer(fd)
for i in range(1,16): # need range from 1 - max number of pages +1
viewer.navigate(i)
viewer.render()
page_1_content=viewer.canvas.text_content
page_1_text = "".join(viewer.canvas.strings)
print (page_1_text)
【问题讨论】:
您可以使用 Acrobat Reader 将文本复制出来吗? 【参考方案1】:试试pdfreader
from pdfreader import SimplePDFViewer
fd = open("my.pdf", "rb")
viewer = SimplePDFViewer(fd)
viewer.render()
page_0_content=viewer.canvas.text_content
page_0_text = "".join(viewer.canvas.strings)
【讨论】:
【参考方案2】:如果它是空白的,要么是 PDF 正在被读取,而且它的格式不能被 pypdf 读取,所以它只是输出空白。也许放入绝对文件路径而不是相对文件路径。如果所有其他方法都失败了,请尝试使用不同的 PDF,如果有一个版本可以工作而您的版本不行,您可能需要将您的版本转换为该工作类型。
【讨论】:
你发现你的和工作的有区别吗?寻找模式 我发现的唯一一件事是,如果我打开 pdf-1.5 版本的 pdf 文件,它们可以工作,而 1.3 和 1.6 似乎不起作用。虽然这对我来说似乎很奇怪,因为我认为如果 1.5 工作 1.3 或 1.6 也必须工作 阅读 pypdf 文档以查看更多详细信息。并进一步挖掘您尝试阅读的 PDF。以上是关于Python 不使用 pyPDF2 打印 PDF的主要内容,如果未能解决你的问题,请参考以下文章
PDF分割?有了这把魔法剪,PDF任你裁剪(PyPDF2)-
PDF分割?有了这把魔法剪,PDF任你裁剪(PyPDF2)-