web-dev-qa-db-ja.com

ハイパーリンクされた目次を生成し、既存のPDF

既存のPDF(対応するソースファイルなし)、およびPDFファイル内のセクションを参照するアイテムのリストであるテキストファイル、および各アイテムのページ番号。新しいPDFを生成します。これは、生成された目次インデックスで始まり、元のPDFのコンテンツが続きます。生成されたインデックスはハイパーリンクする必要があります。アイテムをクリックすると、参照されているセクションを含むページに自動的にジャンプします。

Linuxでこれを実現するための適切なツールセット(できればCLI指向)を探しています。私がこれまで見てきたすべてのツールが解決策を提供しているわけではないようです。私は経験豊富なプログラマーであり、必要に応じて(できれば、Ruby/Python/Perl/Shellで)テキストファイルを解析してハイパーリンクされたインデックスに変換するコードを記述できますが、適切なツールが見つかりません。それを解決するために。問題の一部は、ハイパーリンクが同じファイル内を指す必要があることだと思いますが、それらのターゲットは、後でToCが元のPDFと結合されるまで存在しません。

また、さまざまなマークアップ言語にも精通しています。 Markdown、reStructuredText、TeX、LaTeX、org-mode、および理想的なソリューションは、ハイパーリンクされたToCを生成するための中間ステップとしてこれらの1つを使用します。

11
Adam Spiers

これは、TeXStackExchangeで非常によく似た質問に答える@Herbertから全体として取られています。

既存の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}
7
rickhg12hs