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


11

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

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

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


6
在TeX
StackExchange

1
@ rickhg12hs-为什么不在这里写下答案?
slm

答案写。希望@Terdon会取消标记它以便将其删除。
rickhg12hs 13-10-27

实际上,@ terdon将其标记为删除。也许他可以取消标记
rickhg12hs 13-10-28

放弃@terdon。答案重复如下。
rickhg12hs 13-10-29

Answers:


7

这完全取自@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}

复制其他人的答案时,请将您的问题标记为社区Wiki
恢复莫妮卡-M.Schröder'13年

@MartinSchröder您是从哪里想到这个规则的?
Michael Mrozek

@MichaelMrozek:这是tex.se的标准:这不是您的答案,因此您不应获得荣誉。
恢复莫妮卡-M.Schröder2013年

业力阴谋集团使我震惊。
rickhg12hs
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.