gerar um índice com hiperlink e inserir no PDF existente

11

Eu tenho um PDF existente (sem nenhum arquivo de origem correspondente) e um arquivo de texto que é uma lista de itens que fazem referência a seções dentro do arquivo PDF, juntamente com um número de página para cada item. Gostaria de gerar um novo PDF que comece com um índice do índice gerado, seguido pelo conteúdo do PDF original. O índice gerado precisa ter um hiperlink para que o clique em qualquer item salte automaticamente para a página que contém a seção referenciada.

Estou procurando um conjunto adequado de ferramentas (de preferência orientadas para CLI) para fazer isso no Linux; todas as ferramentas que eu analisei até agora não parecem oferecer uma solução. Sou um programador experiente e fico feliz em escrever código, se necessário (de preferência em Ruby / Python / Perl / shell) para analisar meu arquivo de texto e convertê-lo em um índice com hiperlink, mas não encontro as ferramentas certas para resolver isso. Acho que parte do problema é que os hiperlinks precisam apontar para o mesmo arquivo, mas seus destinos não existirão até mais tarde, quando o ToC for associado ao PDF original.

Também estou familiarizado com várias linguagens de marcação, por exemplo, Markdown, reStructuredText, TeX, LaTeX, modo organizacional e uma solução ideal usaria uma delas como uma etapa intermediária para gerar o ToC com hiperlink.

Adam Spires
fonte
6
Confira esta questão muito semelhante no TeX Stackexchange: Adicionando Índice de PDF existente
rickhg12hs
1
@ rickhg12hs - por que não escrever isso como resposta aqui?
slm
Resposta escrita. Espero que o @Terdon desmarque-o para exclusão em breve.
rickhg12hs
Na verdade, o @terdon marcou para exclusão. Talvez ele poderá desmarcá-la
rickhg12hs
Desistiu de @terdon. Resposta replicada abaixo.
rickhg12hs

Respostas:

7

Isso é retirado integralmente de @Herbert, respondendo a uma pergunta muito semelhante no TeX StackExchange:

Adicionando sumário ao PDF existente

use o pacote pdfpagese depois:

\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
fonte
Ao copiar respostas de outras pessoas, marque sua pergunta como wiki da comunidade .
Restabeleça Monica - M. Schröder
@ MartinSchröder De onde você criou essa regra?
Michael Mrozek
@MichaelMrozek: É padrão no tex.se: não é sua resposta, então você não deve receber o crédito.
Restabeleça Monica - M. Schröder
As cabalas de karma me quebram.
precisa saber é o seguinte