首页 > 解决方案 > QPDF在python中给出文件未找到错误

问题描述

在此处输入图像描述我正在使用 qpdf 来解密 pdf 文件(加密但没有密码),因为 pypdf2 解密不起作用。它正在命令行上运行,但使用 python 给出FileNotFoundError

qpdf --decrypt --replace-input test.pdf # it's working; replacing test.pdf with the absolute path

但是对于python它没有

inp_file = open(self.path, "rb")
inp_pdf = PdfFileReader(inp_file)
if inp_pdf.isEncrypted:
    try:
        inp_pdf.decrypt('')
    except:
        subprocess.run(["qpdf", "--decrypt", "--replace-input", self.path)])

标签: pythonqpdf

解决方案


我切换到pikepdf。它建立在 QPDF 之上;下面的引号中的简要说明。根据现有的 pdf 创建新的 pdf 非常简单。此外,它还可以即时处理解密。

Pikepdf 为 C++ PDF 内容转换库 QPDF 提供了 Pythonic 包装器。

它不实现从 pdf 中提取文本;我使用 tika 进行文本提取。


推荐阅读