Latex: PDF beschneiden und einbinden
Heute sah ich mich vor einige Probleme gestellt, als ich eine PDF in Latex Beamer einbinden wollte.
Zunächst der einfachste Latex-Befehl ist:
% in der Präambel: \usepackage[final]{pdfpages} \usepackage{graphix} (...) \includepdf{file.pdf} %oder mit includegraphics gehts genauso: \includegraphics{file.pdf}
Soweit so gut, das funktioniert. Leider passte die PDF nich so ganz rein, war mir zu klein und wollte gerne Ränder und so raus haben. Also mal probieren in Latex mit der Option viewport:
\includepdf[viewport= llx lly urx ury]{file.pdf} %bzw. \includegraphics[viewport= llx lly urx ury]{file.pdf}
Wobei llx und lly x- bzw. y-Wert für die linke untere Ecke, und urx, ury analog die rechte obere Ecke bezeichnen.
Danach hatte ich das Problem, dass ich gar keinen Text gesehen habe. Zunächst dachte ich auch der Text ist nicht da, aber ich konnte ihn mit der Maus markieren. Problem hing wohl damit zusammen, dass sich der Style im Beamer Paket nicht mit viewports verträgt. Ein kleiner workaround ist:
\includepdf[pagecommand={\thispagestyle{plain}}]{file.pdf} % statt plain geht evtl. auch empty
Das macht leider die ganze Seite plain, d.h. der Beamer-Style fehlt dann auf der Seite, aber zumindest sieht man ein PDF.
Zurück zum viewport: Leider macht das aber kein Beschneiden der PDF, sondern verschiebt diese nur holt die Fläche der bezeichneten Koordinaten in den Fokus. Was wir ja eigentlich wollen, ist das nur ein bestimmter Bereich eingeblendet werden soll. Dafür kann man includegraphics* benutzen:
\includegraphics*[viewport= llx lly urx ury]{file}
Das funkioniert wunderbar in Latex… mit Grafiken, aber nicht mit PDFs. includegraphics ruft vermutlich includepdf auf, sobald es eine PDF-Datei findet. aber ein includepdf* gibt es leider nicht.
Um es kurz zu machen: Ich habe keine Latex-interne Lösung für das Problem gefunden. Dafür hab ich aber fleißig gegooglet, die Lösung ist das Commandline Tool pdfcrop.pl bei ctan.org. Das beschneidet PDFs oder ermittelt bei Bedarf auch automatisch Ränder (ich vermute es wird einfach geschaut, wo keine Zeichen stehen) und schneidet diese ab.
Runterladen, dann ab in die Shell:
chmod +x pdfcrop ./pdfcrop.pl --margins '5 5 5 5' file.pdf out.pdf
Lässt an jeder Seite einen Rand von 5 Einheiten. Die Reihenfolge müsste linker oberer rechter unterer Rand sein. Um jetzt noch mehr abzuschneiden kann man auch negative Zahlen eingeben:
./pdfcrop.pl --margins '5 -50 5 -250' file.pdf out.pdf
Das schneidet oben ein bißchen was ab und unten ein gutes Stück. Jetzt kann man die neue generierte PDF-Datei einfach in Latex benutzen und nach Bedarf auch noch vergrößern oder verkleinern mittels scale:
\includegraphics[scale=.75]{out.pdf}
Tja, so kann man sich Stunden damit aufhalten, in Latex eine PDF einzubinden, weil man zu faul ist, ne Tabelle abzutippen
. However, es macht trotzdem Spaß!
Hoffe, das hilft anderen auch weiter, die vor ähnlichen Problemen stehen. pdfcrop.pl sollte auch in Windows funktionieren. Anleitung dazu findet sich bestimmt bei ctan.org
Ähnliche Beiträge:
Latex Serienbrief g-brief an Schufa und Co
Latex – Mathe Formeln linksbündig (mehrzeilig)
Beamer Präsentation mit Latex