生成超链接目录并插入到现有 PDF 中

生成超链接目录并插入到现有 PDF 中

我有一个现有的 PDF(没有任何相应的源文件)和一个文本文件,该文本文件是引用 PDF 文件中各部分的项目列表,以及每个项目的页码。我想生成一个新的 PDF,它以生成的目录索引开始,然后是原始 PDF 的内容。生成的索引需要超链接,以便单击任何项​​目都会自动跳转到包含引用部分的页面。

我正在寻找一套合适的工具(最好是面向 CLI 的)来在 Linux 上完成此任务;到目前为止我看过的所有工具似乎都没有提供解决方案。我是一位经验丰富的程序员,并且非常乐意根据需要编写代码(最好是在 Ruby/Python/Perl/shell 中)来解析我的文本文件并将其转换为超链接索引,但我找不到合适的工具来解决它。我认为问题的一部分是超链接需要指向同一个文件内,但它们的目标直到稍后目录与原始 PDF 合并时才会存在。

我还熟悉各种标记语言,例如 Markdown、reStructuredText、TeX、LaTeX、org-mode,理想的解决方案是使用其中一种语言作为生成超链接 ToC 的中间步骤。

答案1

这是@Herbert 在 TeX StackExchange 上回答一个非常相似的问题时的全部内容:

将目录添加到现有 PDF

使用包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}

相关内容