如何在Linux命令行操作PDF
pdftk 命令提供了许多处理 PDF 的命令行操作,包括合并页面、加密文件、添加水印、压缩文件,甚至还有修复 PDF。
虽然 PDF 通常被认为是相当稳定的文件,但在 Linux 和其他系统上你可以做很多处理。包括合并、拆分、旋转、拆分成单页、加密和解密、添加水印、压缩和解压缩,甚至还有修复。 pdftk
命令能执行所有甚至更多操作。
“pdftk” 代表 “PDF 工具包”(PDF tool kit),这个命令非常易于使用,并且可以很好地操作 PDF。例如,要将独立的文件合并成一个文件,你可以使用以下命令:
<span class="pln">$ pdftk pg1</span><span class="pun">.</span><span class="pln">pdf pg2</span><span class="pun">.</span><span class="pln">pdf pg3</span><span class="pun">.</span><span class="pln">pdf pg4</span><span class="pun">.</span><span class="pln">pdf pg5</span><span class="pun">.</span><span class="pln">pdf </span><span class="kwd">cat</span><span class="pln"> output </span><span class="typ">OneDoc</span><span class="pun">.</span><span class="pln">pdf</span>
OneDoc.pdf
将包含上面显示的所有五个文档,命令将在几秒钟内运行完毕。请注意,cat
选项表示将文件连接在一起,output
选项指定新文件的名称。
你还可以从 PDF 中提取选定页面来创建单独的 PDF 文件。例如,如果要创建仅包含上面创建的文档的第 1、2、3 和 5 页的新 PDF,那么可以执行以下操作:
<span class="pln">$ pdftk </span><span class="typ">OneDoc</span><span class="pun">.</span><span class="pln">pdf </span><span class="kwd">cat</span><span class="pln"> </span><span class="lit">1</span><span class="pun">-</span><span class="lit">3</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> output </span><span class="lit">4pgs</span><span class="pun">.</span><span class="pln">pdf</span>
另外,如果你想要第 1、3、4 和 5 页(总计 5 页),我们可以使用以下命令:
<span class="pln">$ pdftk </span><span class="typ">OneDoc</span><span class="pun">.</span><span class="pln">pdf </span><span class="kwd">cat</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="lit">3</span><span class="pun">-</span><span class="kwd">end</span><span class="pln"> output </span><span class="lit">4pgs</span><span class="pun">.</span><span class="pln">pdf</span>
你可以选择单独页面或者页面范围,如上例所示。
下一个命令将从一个包含奇数页(1、3 等)的文件和一个包含偶数页(2、4 等)的文件创建一个整合文档:
<span class="pln">$ pdftk A</span><span class="pun">=</span><span class="pln">odd</span><span class="pun">.</span><span class="pln">pdf B</span><span class="pun">=</span><span class="pln">even</span><span class="pun">.</span><span class="pln">pdf shuffle A B output collated</span><span class="pun">.</span><span class="pln">pdf</span>
请注意,shuffle
选项使得能够完成整合,并指示文档的使用顺序。另请注意:虽然上面建议用的是奇数/偶数页,但你不限于仅使用两个文件。
如果要创建只能由知道密码的收件人打开的加密 PDF,可以使用如下命令:
<span class="pln">$ pdftk prep</span><span class="pun">.</span><span class="pln">pdf output report</span><span class="pun">.</span><span class="pln">pdf user_pw </span><span class="typ">AsK4n0thingGeTn0thing</span>
选项提供 40(encrypt_40bit
)和 128(encrypt_128bit
)位加密。默认情况下使用 128 位加密。
你还可以使用 burst
选项将 PDF 文件分成单个页面: