menghasilkan daftar isi hyperlink dan menyisipkan ke dalam PDF yang ada

11

Saya memiliki PDF yang ada (tanpa file sumber yang sesuai), dan file teks yang merupakan daftar item yang merujuk bagian dalam file PDF, bersama dengan nomor halaman untuk setiap item. Saya ingin membuat PDF baru yang dimulai dengan daftar isi indeks, diikuti oleh isi dari PDF asli. Indeks yang dihasilkan perlu di-hyperlink sehingga mengklik item apa saja akan secara otomatis melompat ke halaman yang berisi bagian yang dirujuk.

Saya mencari seperangkat alat yang cocok (lebih disukai berorientasi CLI) untuk mencapai ini di Linux; semua alat yang saya lihat sejauh ini sepertinya tidak menawarkan solusi. Saya seorang programmer yang berpengalaman, dan saya sangat senang untuk menulis kode jika diperlukan (lebih disukai di Ruby / Python / Perl / shell) untuk mengurai file teks saya dan mengubahnya menjadi indeks hyperlink, tetapi saya tidak dapat menemukan alat yang tepat untuk menyelesaikannya. Saya pikir bagian dari masalahnya adalah bahwa hyperlink harus mengarah ke dalam file yang sama, tetapi target mereka tidak akan ada sampai nanti ketika ToC digabungkan dengan PDF asli.

Saya juga terbiasa dengan berbagai bahasa markup, misalnya Markdown, reStructuredText, TeX, LaTeX, mode-org, dan solusi ideal akan menggunakan salah satunya sebagai langkah menengah untuk menghasilkan ToC yang hyperlink.

Adam Spires
sumber
6
Lihatlah pertanyaan yang sangat mirip ini di TeX StackExchange: Menambahkan Daftar Isi ke PDF yang ada
rickhg12hs
1
@ rickhg12hs - mengapa tidak menuliskan ini sebagai jawaban di sini?
slm
Jawaban tertulis. Semoga @Terdon akan menghapus tanda untuk dihapus segera.
rickhg12hs
Sebenarnya @terdon menandainya untuk dihapus. Mungkin dia dapat menghapus tanda itu
rickhg12hs
Menyerah di @terdon. Jawaban direplikasi di bawah ini.
rickhg12hs

Jawaban:

7

Ini diambil secara keseluruhan dari @Herbert menjawab pertanyaan yang sangat mirip pada TeX StackExchange:

Menambahkan Daftar Isi ke PDF yang ada

gunakan paket pdfpagesdan kemudian:

\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
sumber
Saat menyalin jawaban dari orang lain, tandai pertanyaan Anda sebagai wiki komunitas .
Reinstate Monica - M. Schröder
@ MartinSchröder Di mana Anda menemukan aturan ini?
Michael Mrozek
@MichaelMrozek: Ini standar pada tex.se: Ini bukan jawaban Anda sehingga Anda tidak harus mendapatkan kredit.
Pasang kembali Monica - M. Schröder
Karma asosiasi rahasia membuatku kesal.
rickhg12hs