我是pdfconcat的作者。pdfconcat的官方源码下载地址是http://pts-mini-gpl.googlecode.com/svn/trunk/pdfconcat/。用于串联t1.pdf,t2.pdf和t.pdf 的示例命令行t3.pdf($在开头输入它):
$ pdfconcat -o t.pdf t1.pdf t2.pdf t3.pdf
Run Code Online (Sandbox Code Playgroud)
pdfconcat现在有点过时了,例如它无法读取带有交叉引用流或对象流的 PDF。由于这些实现起来很复杂(即它会将pdfconcat的源代码炸毁10 倍或更多),我认为它们不会在pdfconcat 中实现。
到目前为止,我建议使用qpdf而不是pdfconcat进行 PDF 连接。qpdf可以生成小的输出文件(如果您使用命令行标志--stream-data=compress --object-streams=generate;但使用--normalize-content=y很可能会使输出 PDF 变大)。用于 PDF 连接的qpdf示例命令行(版本 3.0.0。源代码下载链接)(有意将第一个文件名重复两次):
$ qpdf t1.pdf --pages t1.pdf 1-z t2.pdf 1-z t3.pdf 1-z -- t.pdf
Run Code Online (Sandbox Code Playgroud)
正如其他答案中所见,您也可以尝试使用pdftk(也可作为 Ubuntu 包提供)而不是pdfconcat进行 PDF 连接。我现在尝试了pdftk,它没有为我生成太大的输出文件。如果您使用pdftk获得非常大的文件(即远大于输入大小的总和),请将您的输入 PDF 发送给我(因为我对正在发生的事情感兴趣)。带有 pdftk 的示例命令行:
$ pdftk t1.pdf t2.pdf t3.pdf cat output t.pdf
Run Code Online (Sandbox Code Playgroud)
对于 Unix 系统,有pdfjoinshell 脚本(pdfjam 的一部分,也可作为 Ubuntu 包提供),但它有一个非常重要的依赖项:pdfLaTeX 和 pdfpages.sty LaTeX 包)。
请注意,上面的连接方法都没有保留文档中的所有超链接(尤其是非第一个输入文件中的超链接)。如果您的连接方法保留了您关心的所有交互式 PDF 功能,请进行充分的测试。
| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |