2016-11-15 64 views
1

我正在处理一个处理PDF文件的python脚本,尽管其中一些脚本包含的加密将使用限制为仅打印,在我可以处理它们之前必须手动删除它们。是否可以通过Python脚本执行QPDF

为此,我已经手动使用QPDF在运行脚本之前删除个别PDF文件的这些限制(qpdf的命令非常简单...在命令提示符 - > qpdf --decrypt input.pdf输出内。 pdf)

我的问题是 - 而不是手动做这个位,是否可以在我的Python脚本中执行QPDF可执行文件并运行命令?我一直没有找到任何专门用来控制QPDF的Python模块,所以我没有太多希望。

+1

使用[subprocess](https://docs.python.org/3/library/subprocess.html)模块来运行任何外部程序。即。 'subprocess.run([“qpdf”,“--decrypt”,“input.pdf”,“output.pdf”])' – furas

+0

[在Python中调用外部命令] /问题/ 89228 /主叫-AN-外部命令中的Python) – Mark

回答

1

感谢furas指引我在正确的方向。

这是我做到了在Windows 10:

  1. 下载QPDF,解压的文件夹,并保存在某个地方你的电脑上。我把文件夹放在C:\ qpdf-5.1.2中。该文件夹内是bin \ qpdf.exe。
  2. 将环境变量设置为C:\ qpdf-5.1.2 \ bin。要在Windows 10中设置环境变量,请转至系统属性>高级>环境变量。在PATH突出显示的情况下,单击编辑,然后单击新建并粘贴到点2中目录的路径。

一旦设置完成,您可以在命令提示符和Python中引用'qpdf'。

import subprocess 
subprocess.run(["qpdf", "--decrypt", "C:/qpdf-5.1.2/bin/input.pdf", "C:/qpdf-5.1.2/bin/output.pdf"]) 
相关问题