[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Das Paket [github:rrthomas/pdfjam:PDFjam] {en} beinhaltet eine Sammlung von Programmen und Skripten für die Kommandozeile bzw. [:Terminal#Virtuelle-Konsole:Konsole], mit denen man [:PDF:]-Dateien manipulieren kann. Zu den Bestandteilen von PDFjam gehören neben dem Haupt-Skript pdfjam u.a.: * pdfjoin: Vereinigen mehrerer Dokumente, Ändern der Seitengröße sowie Extraktion eines Bereiches von Seiten * pdfnup: PDF-Datei mit mehrere Seiten pro Blatt erstellen * pdf90, pdf180 und pdf270: Drehen von Dokumenten * pdfbook: Anordnung der Seiten einer PDF-Datei in einer für die Buchbindung geeignete Weise `(Achtung: Erst seit Version 2.06 wird die Option --booklet true automatisch ergänzt)` * pdfjam-pocketmod: Konvertierung der ersten 8 Seiten einer PDF-Datei in ein taschengroßes Booklet ([http://repocketmod.com/ Faltanweisungen] {en}) * pdfjam-slides3up und pdfjam-slides6up: Erstellung von Handouts Die Skripte nutzen pdflatex zur PDF-Manipulation, setzen also eine [:LaTeX:]-Installation voraus. Neben dem Ressourcenverbrauch dieser Vorgehensweise ist ein weiterer Nachteil, dass bei der Verwendung von PDFjam die internen Links der Ursprungsdokumente verloren gehen. Zudem kann PDFjam keine verschlüsselten Dateien bearbeiten. Für weitere Informationen zu den Einzelbefehlen empfiehlt sich ein Blick in deren [:man:Manpages]. = Installation = PDFjam ist in den offiziellen Paketquellen enthalten. {{{#!vorlage Hinweis PDFjam setzt eine [:LaTeX#pdfTeX:pdfTeX]-Installation voraus. '''pdfjam''' ist ein virtuelles Paket, das auf '''texlive-extra-utils''' verweist. }}} Deshalb kann folgendes Paket installiert [1] werden: {{{#!vorlage Paketinstallation texlive-extra-utils, universe }}} Falls beim Einsatz die Fehlermeldung `pdfjam ERROR: LaTeX package pdfpages.sty is not installed` kommen sollte, hilft es, das folgende Paket nachzuinstallieren: {{{#!vorlage Paketinstallation texlive-latex-recommended }}} = Bedienung = == Aufruf == pdfjam wird im Terminal [2] mit folgendem Befehl aufgerufen: {{{#!vorlage Befehl pdfjam OPTIONEN DATEI1 SEITENAUSWAHLDATEI1 DATEI2 SEITENAUSWAHLDATEI2 }}} == Optionen == {{{#!vorlage Tabelle Optionen von `pdfjam` +++ Option Beschreibung +++ `--batch` Sequentielles Ausführen von `pdfjam` für jede Eingabedatei mit (anders als beim Standardverhalten) jeweils eigener Ausgabedatei +++ `--frame true` Seitenrahmen in der Ausgabedatei +++ `-h` oder `--help` Hilfe +++ `--landscape`/`--no-landscape` Querformat/kein Querformat +++ `-nup` Mehrere Seiten pro Blatt (entspricht dem Befehl `pdfnup`) +++ `-o` oder `--outfile` Angabe (des Pfads) der Ausgabedatei +++ `--pagecolor RGBSPEK` Hintergrundfarbe der Ausgabedatei (die Option RGBSPEK muss aus 3 kommagetrennten Ganzzahlen zwischen 0 und 255 bestehen, z.B. `--pagecolor 150,200,150`) +++ `--paper PAPERSPEZ` Seitenformat (`--paper PAPERSPEZ` kann ein Latex-Seitenformat sein. Bsp.: `--paper a4paper` bzw. einfach `--a4paper`) +++ `--papersize` '{BREITE,HÖHE}' Papiergröße (Bsp.: `--papersize '{10in,18cm}'` entspricht 5 inches x 18 cm) +++ `--pdftitle STRING` Aufnahme von STRING in das Titelfeld der Metadaten der Ausgabedatei (Latex-Paket [http://www.tug.org/applications/hyperref/ hyperref] {en} erforderlich) +++ `--pdfauthor STRING` Aufnahme von STRING in das Autorenfeld der Metadaten der Ausgabedatei (Latex-Paket hyperref erforderlich) +++ `--pdfsubject STTRING` Aufnahme von STRING in das Themenfeld der Metadaten der Ausgabedatei (Latex-Paket hyperref erforderlich) +++ `--pdfkeywords STRING` Aufnahme von STRING in das Schlagwortfeld der Metadaten der Ausgabedatei (Latex-Paket hyperref erforderlich) +++ `-q` oder `-quiet` Fortschrittsanzeige nicht ausgeben +++ `--scale WERT` Skaliert alle Eingabeseiten (Bsp.: `--scale 0.7`). (Latex-Paket [http://ctan.org/tex-archive/macros/latex/contrib/pdfpages/ pdfpages] {en} erforderlich.) +++ `--trim` Seiten beschneiden }}} Weitere Optionen sind der [:man:Manpage] zu entnehmen. = Anwendungsfälle = == PDF-Dokumente zusammenfügen == Mit dem folgenden Befehl werden Dateien zusammengefügt. {{{#!vorlage Befehl pdfjam datei1.pdf '-' datei2.pdf '1,2,{}' datei3.pdf '2-' --outfile zusammen.pdf }}} Dieser Befehl fügt alle Seiten (`'-'`) von '''datei1.pdf''', die ersten beiden Seiten (`'1,2'`) von '''datei2.pdf''' gefolgt von einer leeren Seite (`,{}`) und schließlich alle Seiten ab Seite 2 (`'2-'`) von '''datei3.pdf''' zum neuen Dokument '''zusammen.pdf''' zusammen. Ein alternativer Befehl zum Zusammenfügen von PDF-Dateien in einer Datei '''Dokument.pdf''' lautet: {{{#!vorlage Befehl pdfjoin datei1.pdf datei2.pdf --outfile Dokument.pdf }}} == PDF-Dokumente teilen == Zur Teilung eines PDF-Dokuments sind zwei Schritte notwendig: {{{#!vorlage Befehl pdfjam datei1.pdf '1,2' --outfile ersterteil.pdf }}} {{{#!vorlage Befehl pdfjam datei1.pdf '3-' --outfile zweiterteil.pdf }}} Zuerst wird ein Dokument '''ersterteil.pdf''' mit den ersten beiden Seiten erzeugt (`'1,2'`), anschließend werden die restlichen Seiten (`'3-'`) zum Dokument '''zweiterteil.pdf''' konvertiert. == Seiten beschneiden == {{{#!vorlage Befehl pdfjam --trim '1cm 2cm 1cm 2cm' --clip true datei.pdf --outfile Dokument.pdf }}} Dieser Befehl entfernt jeweils 1 cm des linken und rechten Rands der Datei '''datei.pdf''' sowie 2 cm des oberen und unteren Randes. Die Option `--clip` ist bei der Verwendung von `--trim` zwingend erforderlich. {{{#!vorlage Hinweis Das Beschneiden von Seiten eines PDF-Dokuments kann insbesondere sinnvoll sein, wenn dieses viel Weißraum an den Rändern hat und auf einem Gerät gelesen werden soll, das Probleme mit der Anzeige von PDF-Dateien hat (wie das bspw. beim [wikipedia:Amazon_Kindle:Amazon Kindle] der Fall ist). }}} == PDF-Dokumente drehen == Zum Drehen von Dokumenten stellt PDFjam eigene Befehle bereit. Dabei ist zu beachten, dass sich deren Bezeichnung an einer Drehung __gegen__ den Uhrzeigersinn orientiert. `pdf90` dreht ein Dokument also um 270 Grad __im__ Uhrzeigersinn. === 90 Grad im Uhrzeigersinn drehen === Mit dem folgenden Befehl wird das Dokument '''datei.pdf''' um 90 Grad im Uhrzeigersinn gedreht und als '''dokument90.pdf''' gespeichert: {{{#!vorlage Befehl pdf270 datei.pdf --outfile dokument90.pdf }}} === 180 Grad drehen === Mit dem folgenden Befehl wird das Dokument '''datei.pdf''' um 180 Grad gedreht und als '''dokument180.pdf''' gespeichert: {{{#!vorlage Befehl pdf180 datei.pdf --outfile dokument180.pdf }}} === 270 Grad im Uhrzeigersinn drehen === Mit dem folgenden Befehl wird das Dokument '''datei.pdf''' um 270 Grad im Uhrzeigersinn gedreht und als '''dokument270.pdf''' gespeichert: {{{#!vorlage Befehl pdf90 datei.pdf --outfile dokument270.pdf }}} === Ausgewählte Seiten eines Dokuments drehen === Mit dem folgenden Befehl werden die Seiten 10 bis 15 des Dokuments '''datei.pdf''' extrahiert, um 180 Grad gedreht und als '''dokument180.pdf''' gespeichert: {{{#!vorlage Befehl pdf180 datei.pdf '10-15' --outfile dokument180.pdf }}} === Um einen beliebigen Winkel drehen === Mit dem folgenden Befehl werden alle Seiten des Dokuments '''datei.pdf''' um 45 Grad gegen den Uhrzeigersinn gedreht und als '''dokument45.pdf''' gespeichert: {{{#!vorlage Befehl pdfjam --angle 45 datei.pdf --outfile dokument45.pdf }}} == Mehrere Seiten auf einer Seite zusammenfassen == Mit folgendem Befehl werden jeweils 4 Seiten des Dokuments '''datei1.pdf''' in einem 2x2-Raster auf einer Seite der Datei '''Dokument.pdf''' angeordnet: {{{#!vorlage Befehl pdfjam --nup 2x2 datei.pdf --outfile Dokument.pdf }}} Der Befehl {{{#!vorlage Befehl pdfjam --nup 2x1 datei.pdf --landscape --a4paper --outfile Dokument.pdf }}} setzt 2 Seiten in einer Reihe (`'2x1'`) im Querformat (`--landscape`) im A4-Format (`--a4paper`). Besonders einfach lassen sich Handouts mit dem Skript pdfjam-slides3up erstellen. Der folgende Befehl erzeugt aus den Dateien '''folien1.pdf''' und '''folien2.pdf''' 2 Dateien ('''folien1-3up.pdf''' und '''folien2-3up.pdf''') mit 3 Folien pro Seite, Seitennummern und Platz für Randnotizen: {{{#!vorlage Befehl pdfjam-slides3up --pagenumbering true --batch folien1.pdf folien2.pdf }}} = Links = * [github:rrthomas/pdfjam:Projektseite] {en} * [http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages/pdfpages.pdf pdfpages Manual] {dl} {en} (PDF) – Handbuch von pdfpages (enthält auch wertvolle Informationen zur Anwendung von PDFjam) * [http://0x2a.at/blog/2011/02/pdf_manipulation_on_the_cli/ Manipulating pdfs with pdfjam] {en} – Blogbeitrag 02/2011 * [:PDF:] {Übersicht} Programmübersicht #tag: Büro, PDF, Shell, bis-xenial