générer une table des matières avec hyperlien et insérer dans un PDF existant

11

J'ai un PDF existant (sans aucun fichier source correspondant) et un fichier texte qui est une liste d'éléments faisant référence à des sections dans le fichier PDF, ainsi qu'un numéro de page pour chaque élément. Je voudrais générer un nouveau PDF qui commence par un index de table des matières généré, suivi du contenu du PDF original. L'index généré doit être lié par un lien hypertexte pour que le fait de cliquer sur un élément passe automatiquement à la page contenant la section référencée.

Je recherche un ensemble d'outils approprié (de préférence orienté CLI) pour accomplir cela sous Linux; tous les outils que j'ai examinés jusqu'à présent ne semblent pas offrir de solution. Je suis un programmeur expérimenté et je suis plus qu'heureux d'écrire du code si nécessaire (de préférence en Ruby / Python / Perl / shell) pour analyser mon fichier texte et le convertir en index hyperlien, mais je ne trouve pas les bons outils pour le résoudre. Je pense qu'une partie du problème est que les hyperliens doivent pointer vers le même fichier, mais leurs cibles n'existeront que plus tard lorsque la ToC sera jointe au PDF d'origine.

Je suis également familier avec divers langages de balisage, par exemple Markdown, reStructuredText, TeX, LaTeX, org-mode, et une solution idéale utiliserait l'un d'entre eux comme étape intermédiaire pour générer le ToC hyperlien.

Adam Spires
la source
6
Découvrez cette question très similaire sur TeX StackExchange: Ajout de la table des matières au PDF existant
rickhg12hs
1
@ rickhg12hs - pourquoi ne pas écrire ceci comme réponse ici?
slm
Réponse écrite. Espérons que @Terdon le supprimera bientôt pour suppression.
rickhg12hs
En fait, @terdon l'a marqué pour suppression. Peut-être qu'il peut le
décocher
J'ai abandonné @terdon. Réponse reproduite ci-dessous.
rickhg12hs

Réponses:

7

Ceci est tiré de @Herbert répondant à une question très similaire sur TeX StackExchange:

Ajout de la table des matières au PDF existant

utiliser le package pdfpagespuis:

\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}
rickhg12hs
la source
Lors de la copie des réponses des autres, veuillez marquer votre question comme wiki communautaire .
Rétablir Monica - M. Schröder
@ MartinSchröder Où avez-vous trouvé cette règle?
Michael Mrozek
@MichaelMrozek: C'est standard sur tex.se: Ce n'est pas votre réponse, donc vous ne devriez pas obtenir le crédit.
Rétablir Monica - M. Schröder
Les cabales de Karma me font craquer.
rickhg12hs