![生成超链接目录并插入到现有 PDF 中](https://linux22.com/image/3264/%E7%94%9F%E6%88%90%E8%B6%85%E9%93%BE%E6%8E%A5%E7%9B%AE%E5%BD%95%E5%B9%B6%E6%8F%92%E5%85%A5%E5%88%B0%E7%8E%B0%E6%9C%89%20PDF%20%E4%B8%AD.png)
我有一个现有的 PDF(没有任何相应的源文件)和一个文本文件,该文本文件是引用 PDF 文件中各部分的项目列表,以及每个项目的页码。我想生成一个新的 PDF,它以生成的目录索引开始,然后是原始 PDF 的内容。生成的索引需要超链接,以便单击任何项目都会自动跳转到包含引用部分的页面。
我正在寻找一套合适的工具(最好是面向 CLI 的)来在 Linux 上完成此任务;到目前为止我看过的所有工具似乎都没有提供解决方案。我是一位经验丰富的程序员,并且非常乐意根据需要编写代码(最好是在 Ruby/Python/Perl/shell 中)来解析我的文本文件并将其转换为超链接索引,但我找不到合适的工具来解决它。我认为问题的一部分是超链接需要指向同一个文件内,但它们的目标直到稍后目录与原始 PDF 合并时才会存在。
我还熟悉各种标记语言,例如 Markdown、reStructuredText、TeX、LaTeX、org-mode,理想的解决方案是使用其中一种语言作为生成超链接 ToC 的中间步骤。
答案1
这是@Herbert 在 TeX StackExchange 上回答一个非常相似的问题时的全部内容:
使用包pdfpages
然后:
\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\clearpage\phantomsection
\addcontentsline{toc}{section}{The first section name}% or chapter
\includepdf[pages={1-10},linktodoc,linktodocfit=/Fit]{texte/dtk/dtk11-1/komoedie.pdf}
\clearpage\phantomsection
\addcontentsline{toc}{section}{The second section name}% or chapter
\includepdf[pages={11-19},linktodoc,linktodocfit=/Fit]{texte/dtk/dtk11-1/komoedie.pdf}
\clearpage\phantomsection
\addcontentsline{toc}{section}{The third section name}% or chapter
\includepdf[pages={20-29},linktodoc,linktodocfit=/Fit]{texte/dtk/dtk11-1/komoedie.pdf}
\clearpage\phantomsection
\addcontentsline{toc}{section}{The forth section name}% or chapter
\includepdf[pages={21-39},linktodoc,linktodocfit=/Fit]{texte/dtk/dtk11-1/komoedie.pdf}
\end{document}