PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PDF mit Links ins Layout einbinden



Revan335
28-08-2015, 19:42
Hallo,

ich würde gerne ein PDF das Links auf verschiedene Webseiten beinhaltet in mein LaTeX Dokument unter Berücksichtigung des Layouts einbinden.

Hiermit habe ich es schon probiert.



\includepdf[pages=-]{PDF} % fügt PDF mit allen Seiten ein
\includegraphics[width=\textwidth]{PDF} % fügt nur die erste Seite skaliert auf Textbreite ins Layout ein


Leider werden bei beiden die Links nicht übernommen und \includegraphics kennt keinen Befehl für mehrere Seiten einzubinden.

Ich bräuchte also eine Mischung aus \includepdf was alle Seiten einfügt und \includegraphics das das eingebundene ins Layout unter Berücksichtigung der Textbreite und der Links integriert.

Ich hoffe ihr könnt mir helfen.

Gruß

Revan335

u_fischer
28-08-2015, 20:43
\includegraphics kann weitere Seiten mit page=2 usw einfügen. Das wird dir aber nichts nützen, weil auch dann Links verschwinden. http://www.ctan.org/pkg/pax

Revan335
28-08-2015, 21:12
Danke für den Hinweis.

Kennst du den eine andere Möglichkeit?

cookie170
29-08-2015, 10:50
Soweit ich weiß, gibt es keine Möglichkeit, ein PDF mit funktionierenden Links in den Fließtext aufzunehmen. Aber natürlich kann man ein PDF mit den Paketen attachfile oder embedfile an ein PDF anhängen und dann müssten alle Links erhalten bleiben.

Gruß,

Alexander

Revan335
29-08-2015, 12:03
Verdammt, anhängen bringt mir leider nicht viel, da das PDF in den Anhang soll.

u_fischer
29-08-2015, 13:07
Danke für den Hinweis.

Kennst du den eine andere Möglichkeit?

Habe ich doch schon angegeben. Versuche es mit pax.

Revan335
29-08-2015, 14:04
Habe ich doch schon angegeben. Versuche es mit pax.

Vielen Dank für den Hinweis.

Da mein Englisch nicht sehr gut ist, hab ich bestimmt noch etwas nicht beachtet.

Ich habe das hier genannte PDFBox über die Linux Mint Anwendungsverwaltung installiert.

6154


First run the Java program on usrguide.pdf:

$ java -jar pax.jar usrguide.pdf

It generates usrguide.pax.
Next run pdflatex on test.tex twice at least:

$ pdflatex test
$ pdflatex test

Then the links should work.


So wie ich es verstanden habe muss ich "$ java -jar pax.jar usrguide.pdf" ausführen und dann mein Dokument noch einmal kompilieren, damit dann das PDF mit funktionierenden Links eingebunden wird und im neuen PDF enthalten ist.

Leider habe ich keine Ahnung wie ich diesen Java Code ausführen muss ?

Muss der in das .tex oder muss man das per Terminal machen ?

cookie170
30-08-2015, 11:21
Hallo,

der Java-Teil wird auf dem Terminal ausgeführt, mit dem Befehl "java -jar ...", danach muss es in diesem Verzeichnis eine Datei usrguide.pax geben. Dann lässt Du Dein Dokument, in dem das Paket pax vorkommt und in dem so etwas wie \includepdf[pages=-]{usrguide.pdf}, noch zweimal kompilieren.

Revan335
05-09-2015, 15:28
der Java-Teil wird auf dem Terminal ausgeführt, mit dem Befehl "java -jar ...", danach muss es in diesem Verzeichnis eine Datei usrguide.pax geben.

Vielen Dank für den Hinweis.

Leider erhalte ich die Fehlermeldung:


Error: Unable to access jarfile pax.jar

6157

Dabei ist es egal, ob ich es ohne oder mit sudo ausführe.


Vielleicht hab ich ja auch bei der Installation was falsch gemacht.

Kann mir die vielleicht einer kurz erklären?

Was ich für Pakete brauche und wie ich die dann installiere.

Vielen Dank!

klops
05-09-2015, 20:12
Wenn pax.jar nicht im aktuellen Verzeichnis liegt, musst Du natürlich den gesamten Pfad zu pax.jar angeben oder denn class-path entsprechend setzen oder die Datei pax.jar in einem der Verzeichnisse ablegen, in dem java danach sucht.

Revan335
08-09-2015, 17:46
Leider bekomme ich eine weitere Fehlermeldung, wenn ich den Pfad zur pax.jar angebe.

6159

klops
08-09-2015, 17:59
Die Requirements aus der pax-Anleitung beachtet, als da u. a. wäre:
* PDFBox 0.7.2 or 0.7.3.
However, PDFAnnotExtractor does not work with the recent
versions of PDFBox, currently only the older versions
0.7.2 or 0.7.3 are supported. The older versions are
available at SourceForge:
http://sourceforge.net/project/showfiles.php?group_id=78314

Revan335
08-09-2015, 19:00
Aus der Readme habe ich folgende Schritte befolgt, soweit ich sie verstanden habe:


Alternative for 2. and 3.
* Continue with 4. and 5.a).
* Call `pdfannotextractor --install' (or with option --debug).
It downloads PDFBox from its homepage and installs it
in TEXMFVAR(VARTEXMF) below TDS:scripts/pax/

4. Unzip pax-tds.zip inside the TDS tree, where you want to put this
project, e.g.:
unzip pax-tds -d /usr/local/share/texmf
Don't forget to update the database (texhash, mktexlsr, ...).

5.a) Install the wrapper Perl script pdfannotextractor.pl
as `pdfannotextractor' somewhere in your PATH (/usr/local/bin,
/usr/bin, ...).
5.b) Or write a wrapper script or whatever to ease the call of the
Java program, e.g.:
#!/bin/sh
java -cp pax.jar:pdfbox.jar pax.PDFAnnotExtractor "$@"

Da meine Englisch Kenntnisse nicht so gut sind kann da natürlich auch ein Fehler passiert sein.

Ich vermute bei Schritt 5.

Denn müsste mir noch einer genauer erklären.

Folgendes habe ich gemacht:

6160

Vielen Dank aber für die weitere Hilfe.

klops
09-09-2015, 07:36
Da PDFBox ebenfalls nicht im class-path von Java installiert wurde, muss man das natürlich ebenfalls mit Pfad laden. Am einfachsten geht das, wenn man den Wrapper pdfannotextractor.pl für den Aufruf verwendet, also beispielsweise:

pdfannotextractor.pl test.pdf Dann kümmert sich pdfannotextractor.pl um das Setzen der Pfade.

Revan335
09-09-2015, 19:25
Es funktioniert!

Vielen, Vielen Dank für die Hilfe.

Vor allem an dich klops.


Wie müsste ich die ganzen Sachen den installieren, damit es richtig ist (richtige Verzeichnisse, ...) ?

klops
09-09-2015, 20:08
Falls Du meist, wo du die jar-Dateien installieren musst, damit die Methoden von java gefunden werden, ohne dass per Option -cp der Suchpfad zu den jar-Dateien angegeben wird: AFAIK im classpath. Der hängt von der jeweiligen Java-Installation ab. Wenn $CLASSPATH nicht gesetzt ist, kannst Du mal schauen, ob $JAVA_ROOT existiert. Dann kann man AFAIK beispielsweise unter $JAVA_ROOT/lib/ext zusätzliche jar-Dateien ablegen. Sonst schau nach, ob einer der Pfade in $CLASSPATH geeignet ist. Natürlich kann man $CLASSPATH auch selbst passend erweitern.

Aber genau genommen ist es meist ohnehin komfortabler einen Wrapper zu verwenden. Das gilt insbesondere dann, wenn die jar-Dateien gar nicht von allgemeinem Interesse sind. Deshalb ist ja auch pdfannotextractor.pl bei pax dabei. Das ist auch deshalb sinnvoll, weil pax ja nicht die aktuelle Version von PDFBox verwendet, also es eher unpraktisch wäre, wenn die von pax benötigte Version allgemein installiert würde.

BTW: pax selbst finde ich auch keinen sehr glücklichen Namen, weil es bereits pax (https://de.wikipedia.org/wiki/Pax_%28Unix%29) gibt. Solange der Wrapper nicht ebenfalls pax sondern pdfannotextractor heißt, ist das aber immerhin kein Problem.