generar una tabla de contenido con hipervínculos e insertarla en un PDF existente

11

Tengo un PDF existente (sin el archivo fuente correspondiente) y un archivo de texto que es una lista de elementos que hacen referencia a secciones dentro del archivo PDF, junto con un número de página para cada elemento. Me gustaría generar un nuevo PDF que comience con un índice de tabla de contenido generado, seguido del contenido del PDF original. El índice generado debe estar hipervinculado para que al hacer clic en cualquier elemento salte automáticamente a la página que contiene la sección referenciada.

Estoy buscando un conjunto adecuado de herramientas (preferiblemente orientadas a CLI) para lograr esto en Linux; Todas las herramientas que he visto hasta ahora no parecen ofrecer una solución. Soy un programador experimentado y estoy más que feliz de escribir código si es necesario (preferiblemente en Ruby / Python / Perl / shell) para analizar mi archivo de texto y convertirlo en un índice hipervinculado, pero no puedo encontrar las herramientas adecuadas para resolverlo Creo que parte del problema es que los hipervínculos deben apuntar dentro del mismo archivo, pero sus objetivos no existirán hasta más tarde cuando el ToC se una con el PDF original.

También estoy familiarizado con varios lenguajes de marcado, por ejemplo, Markdown, reStructuredText, TeX, LaTeX, org-mode, y una solución ideal usaría uno de estos como un paso intermedio para generar el ToC hipervinculado.

Adam Spires
fuente
66
Eche un vistazo a esta pregunta muy similar en TeX StackExchange: Agregar tabla de contenido a PDF existente
rickhg12hs
1
@ rickhg12hs: ¿por qué no escribir esto como respuesta aquí?
slm
Respuesta escrita Con suerte, @Terdon lo desmarcará para eliminarlo pronto.
rickhg12hs
En realidad, @terdon lo marcó para su eliminación. Tal vez pueda
desmarcarlo
Me rendí en @terdon. Respuesta replicada a continuación.
rickhg12hs

Respuestas:

7

Esto se toma en su totalidad de @Herbert respondiendo una pregunta muy similar sobre TeX StackExchange:

Agregar tabla de contenido a PDF existente

use el paquete pdfpagesy luego:

\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}
revs rickhg12hs
fuente
Al copiar las respuestas de otros, marque su pregunta como wiki de la comunidad .
Restablece a Monica - M. Schröder el
@ MartinSchröder ¿Dónde se te ocurrió esta regla?
Michael Mrozek
@MichaelMrozek: es estándar en tex.se: no es su respuesta, por lo que no debería obtener el crédito.
Restablece a Monica - M. Schröder el
Las cábalas de karma me hacen reír.
rickhg12hs