需要将多个PDF合并成一个带有目录章节的单一PDF文件。

14

我们将使用php脚本生成50-100个单独的PDF文档。这些PDF通常分为每组10-20个。每个组需要有自己的目录或索引,并且在开头还需要有一个总目录或索引。

如果太难了,我们也可以只在开头加一个目录。

最好的解决方案是什么?

我们需要先创建目录,然后将其导出为PDF文件并附加到开头,再将其他文件合并吗?还是有更好的解决方案?

最好的工具是什么来合并PDF文件?

该系统运行在Linux服务器上。

6个回答

12

2012年12月6日发布的1.45版本中,pdftk能够使用update_info创建书签,可用作目录。

具体操作分为三步:

我的范例前提条件

3个PDF文件,每个文件只有一页。

page1.pdf
page2.pdf
page3.pdf

1. 创建书签信息

# build the bookmark out of an example file
pdftk page1.pdf dump_data output meta.txt
# Edit meta.txt as you need

这是一个对我有效的示例,meta.txt:

InfoBegin
InfoKey: Creator
InfoValue: PDFTK
NumberOfPages: 3
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 595.32 841.92
PageMediaDimensions: 595.32 841.92
BookmarkBegin
BookmarkTitle: Page 1
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Page 2
BookmarkLevel: 1
BookmarkPageNumber: 2
BookmarkBegin
BookmarkTitle: Page 3
BookmarkLevel: 1
BookmarkPageNumber: 3

2. 创建临时合并的 PDF 文件

pdftk page* cat output temp.pdf

3. 将书签添加到PDF中

pdftk temp.pdf update_info meta.txt output final.pdf

在使用Acrobat Reader打开final.pdf文件时,您可以在左侧看到书签。 在此输入图片描述


仍需手动搜索并输入页码。是否有一种方法可以合并PDF文件并在合并的页面自动创建书签? - Senthil Vikram Vodapalli
1
尚未测试,但理论上所有步骤都可以通过脚本自动化完成。这样你就不必手动操作任何东西了,除了编写一次脚本。 - jerik

9

什么是我们合并pdf的最佳工具?

在Linux(以及Windows上),您可以安装一个有用的小程序pdftk。它很好地将PDF文件绑定在一起。例如:

$ pdftk in1.pdf in2.pdf in3.pdf in4.pdf in5.pdf in6.pdf cat output out.pdf

其中 in*.pdf 是输入文件,out.pdf 是结果文件。在此期间,@jerik已经给出了如何处理目录的答案


适用于pdftk版本1.45。示例文档请参见我的答案 - jerik

0
如果你可以使用PDF书签而不是目录页,你可以使用pdfrecycle合并PDF文件并创建书签。

1
很遗憾,这个软件已经不再可用了。 - whiskeychief

0
为了简化生成PDF文件目录的过程,我已经成功地从php生成了LaTeX代码,然后使用latex2pdf生成了PDF文件。
也许这在你的情况下可以作为一种替代方案。
关于合并PDF文件,我同意Federico的看法,pdftk是最好的解决方案。

0

您可以像这样使用gs

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=combined.pdf file1.pdf file2.pdf

0

PDF SAM 能够完成它:

Correct named and ordered pdf files, regard settings: bookmarks are crucial.

如图所示,这个开源工具可以为每个文件创建一个书签,从而提供正确的目录:

Result in Edge with proper table of contents


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接