Wie kann ich zwei PDFs mit Links anhängen?

2940
Martin Thoma

Mein Problem

Ich habe zwei PDFs, die ich zu einem PDF zusammenführen möchte. Die erste wurde mit LaTeX erstellt und enthält Verknüpfungen zu den Kapiteln, die zweite ist ein GUI-Entwurf mit mit Balsamiq erstellten Verknüpfungen.

Wie kann ich den GUI-Entwurf mit funktionierenden Links an das LaTeX-Dokument anhängen?

Was ich versucht habe

pdftk LatexDocument.pdf GUI.pdf cat output merged.pdf 

funktionierte, aber Links verlinken nicht mehr zu den richtigen Seiten.

3
Haben Sie jemals eine gute Lösung dafür gefunden? kylex vor 10 Jahren 0
@kylex: Nein. Es scheint unmöglich zu sein, zwei PDFs zusammenzuführen, während die Linkstruktur beider PDFs beibehalten wird. Ich habe dieses Problem "gelöst", indem ich auf die andere PDF-Datei als Text verwiesen habe ("Siehe Datei 'GUI.pdf'")): - / Martin Thoma vor 10 Jahren 0

3 Antworten auf die Frage

1
Simon

Sie möchten vielleicht das kürzlich vorgestellte Advanced PDF Manipulation Tool ausprobieren: Sejda

Es stehen verschiedene Zusammenführungsoptionen zur Verfügung (dies könnte für Sie funktionieren)

http://sejda.com/

Nein, das geht nicht. Martin Thoma vor 11 Jahren 0
@Moose: Danke, dass Sie mich wissen lassen. Wenn ich weitere Informationen finde, poste ich sie für Sie. Simon vor 11 Jahren 0
1
Werner

From within LaTeX you can include the other PDF, GUI.pdf, using pdfpages. Try something like this:

\documentclass \usepackage% http://ctan.org/pkg/pdfpages % Other preamble content \begin % LaTeXDocument content \includepdf \end 

If the two documents have different page/stock sizes, pdfpages will rescale the included document to the source page sizes. To avoid this, use

\includepdf[noautoscale] 

and any additional options you may require. Read the pdfpages documentation for more information on the operations that can be performed on the input pages.

Nun, das Problem bei dieser Lösung ist, dass beide PDF-Dateien unterschiedliche Seitengrößen haben. Ich habe nicht herausgefunden, wie man einen PDF mit "pdfpages" einfügt, ohne die Größe zu ändern. Martin Thoma vor 11 Jahren 0
@moose: Hast du die Dokumentation gelesen, mit der ich verlinkt habe? Verwenden Sie die Option "noautoscale" (Seite 4), da Seitengrößen standardmäßig automatisch neu skaliert werden. Ich werde meine Antwort aktualisieren. Werner vor 11 Jahren 0
Ja, ich habe die Dokumentation gelesen. Ich habe diesen Befehl ausprobiert: \ includepdf [pages = -, fitpaper = true, noautoscale] {../ GUI / rendering / Entwurf.pdf} `, aber die Größe von` Entwurf.pdf` (meine GUI) wurde auf A4 geändert. Ich habe es auch mit `fitpaper = true` ausprobiert, was auch nicht funktioniert hat. Martin Thoma vor 11 Jahren 0
@moose: Ihre Optionen "fitpaper" und "noautoscale" scheinen sich zu widersprechen. Was ist mit * nur * `noautoscale` oder mit` fitpaper = false`? Werner vor 11 Jahren 0
Nur "noautoscale" funktionierte nicht. Das Bild, das die Seite nicht skaliert hat, ist falsch, aber die Seitengröße des Dokuments, auf das die GUI zugegriffen wird, ist falsch (A4). Mit nur 'fitpaper = true' wurde die Seitengröße von A4 auf die exotische geändert, aber das Bild ist ... naja, nicht vollständig auf der Seite. Es ist ein bisschen zu weit oben links. Ich kann also den oberen / linken Teil nicht sehen, aber unten / rechts ist freier Speicherplatz. Die Links werden übrigens komplett gefiltert. Selbst wenn es richtig angebracht wurde, würde ich die Links benötigen. Martin Thoma vor 11 Jahren 0
@moose: Also * * beide * Dateien enthalten Links? Sie haben das in Ihrem ursprünglichen Beitrag nicht erwähnt, und ich weiß nicht, was "Balsamiq" ist / tut. "\ includepdf" entfernt diese Links, wie Sie erwähnt haben, und machen diese Antwort für Ihren Fall etwas unbrauchbar, denke ich. Werner vor 11 Jahren 0
Ich habe das in meinem ursprünglichen Beitrag erwähnt: "Der erste hat [...] Links zu den Kapiteln, der zweite ist ein GUI-Entwurf mit Links [...]". Balsamiq ist eine GUI-Skizziersoftware, mit der Sie die GUI als PDF mit Links exportieren können. Martin Thoma vor 11 Jahren 0
0
phillmv

Ich habe die Antwort auf diese Frage bei TeX stackexchange gefunden: https://tex.stackexchange.com/a/8665

Verwenden Sie also Ghostscript!

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf etc.pdf 

Ich stellte fest, dass im Gegensatz zu anderen Dienstprogrammen, die ich ausprobierte, \includedpdf{}der obige gsBefehl meine Verknüpfungen beim Zusammenführen von 4 pdfs beibehalten hat, zumindest für meine von LuaLaTeX generierte Datei.

Nur eine meiner Dateien enthielt Verknüpfungen, aber die mehrmalige Zusammenführung scheint die richtige Reihenfolge beizubehalten.

Hoffentlich hilft das!