ハイパーリンク目次を作成し、既存のPDFに挿入

ハイパーリンク目次を作成し、既存のPDFに挿入

既存のPDF(該当するソースファイルなし)とPDFファイルのセクションを参照する項目のリストであるテキストファイルと、各項目のページ番号があります。生成された目次インデックスから始めて、元のPDFの内容を含む新しいPDFを生成したいと思います。生成されたインデックスには、アイテムをクリックすると参照されたセクションを含むページに自動的に移動できるようにハイパーリンクが必要です。

私はLinuxでこれを行うのに適したツールセット(好ましくはCLIベース)を探しています。これまで見てきたツールのどれもソリューションを提供していないようです。私は経験豊富なプログラマーであり、必要に応じて(好ましくはRuby / Python / Perl / shellで)コードを書くことでテキストファイルを解析してハイパーリンクインデックスに変換できますが、正しいツールを見つけることができません。それを解決するために。問題のいくつかは、ハイパーリンクが同じファイル内を指す必要がありますが、後で目次が元のPDFとマージされるまでそのターゲットが存在しないことです。

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

ベストアンサー1

これはすべてTeX StackExchangeに関する非常によく似た質問に対する@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}

おすすめ記事