köprü bağlantılı içindekiler tablosu oluşturma ve mevcut PDF'ye ekleme


11

Varolan bir PDF (karşılık gelen herhangi bir kaynak dosyası olmadan) ve her dosya için bir sayfa numarası ile birlikte, PDF dosyasındaki bölümlere referans veren öğelerin bir listesi olan bir metin dosyası var. Oluşturulan içindekiler dizini ile başlayan ve ardından orijinal PDF'nin içeriğini izleyen yeni bir PDF oluşturmak istiyorum. Oluşturulan dizinin köprüye bağlanması gerekir, böylece herhangi bir öğeye tıklamak otomatik olarak başvurulan bölümü içeren sayfaya atlar.

Linux bunu gerçekleştirmek için uygun bir araç seti (tercihen CLI odaklı) arıyorum; Şimdiye kadar baktığım tüm araçlar bir çözüm sunmuyor gibi görünüyor. Deneyimli bir programcıyım ve gerektiğinde kod yazmaktan çok mutluyum (tercihen Ruby / Python / Perl / shell'de) metin dosyamı ayrıştırmak ve köprülü bir dizine dönüştürmek için, ancak doğru araçları bulamıyorum çözmek için. Sorunun bir parçası, köprülerin aynı dosyaya işaret etmesi gerektiğini düşünüyorum, ancak hedefleri ToC orijinal PDF ile birleştirilene kadar var olmayacak.

Ayrıca Markdown, reStructuredText, TeX, LaTeX, org-mode gibi çeşitli biçimlendirme dillerine aşinayım ve ideal bir çözüm, köprülü ToC'yi oluşturmak için ara bir adım olarak kullanacaktır.



1
@ rickhg12hs - bunu neden bir cevap olarak yazmıyorsunuz?
slm

Cevap yazılı. Umarım @Terdon yakında silinmek üzere işaretini kaldırır.
rickhg12hs

Aslında @terdon onu silmek için işaretledi. Belki
işareti kaldırabilir

@Terdon üzerinde verdi. Yanıt aşağıda tekrarlandı.
rickhg12hs

Yanıtlar:


7

Bu, @Herbert'in TeX StackExchange'te çok benzer bir soruyu cevaplamasından tamamen alınmıştır:

Mevcut PDF'ye İçindekiler Ekleme

paketi kullan pdfpagesve sonra:

\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}

Başkalarından gelen cevapları kopyalarken lütfen sorunuzu topluluk wiki'si olarak işaretleyin .
eski haline Monica - M. Schröder

@ MartinSchröder Bu kuralı nereden buldunuz?
Michael Mrozek

@MichaelMrozek: tex.se'de standart: Bu sizin cevabınız değil, bu yüzden krediyi almamalısınız.
Monica'yı eski durumuna getirin - M. Schröder

Karma kabinler beni mahvediyor.
rickhg12hs
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.