python - 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)])
解决方案
我切换到pikepdf。它建立在 QPDF 之上;下面的引号中的简要说明。根据现有的 pdf 创建新的 pdf 非常简单。此外,它还可以即时处理解密。
Pikepdf 为 C++ PDF 内容转换库 QPDF 提供了 Pythonic 包装器。
它不实现从 pdf 中提取文本;我使用 tika 进行文本提取。
推荐阅读
- python-c-api - 从同一个 C 扩展模块调用不同方法的正确方法?
- jquery - 如果我悬停子导航内容,箭头如何保持向上?
- go - Go websocket错误:关闭1006(异常关闭):意外EOF
- ruby - Do循环中的Split方法通过空格分隔数组中的字符串值
- laravel - Laravel 5.8 身份验证插件未启用
- apache-spark - 从 Java/Scala 应用程序执行 PySpark 代码
- javascript - ECMAScript 是否区分大小写?
- python - Python/Pandas:使用查找 DataFrame + 函数替换 DataFrame 中的特定/空值
- html - 初学者 - 我无法让我的 html 显示图像
- python - model.evaluate() 根据批量大小改变结果,当由生成器提供时