PDF bearbeiten
Mo, 9. Mai 2022, Ralf Hersel
Das Portable Document Format (englisch; kurz PDF; deutsch: (trans)portables Dokumentenformat) ist ein plattformunabhängiges Dateiformat, das 1992 vom Unternehmen Adobe Inc. entwickelt und veröffentlicht wurde und aktuell von der PDF-Association weiterentwickelt wird. Anfang 2007 hatte Adobe es in den Standardisierungsprozess der ISO eingebracht und mit der Veröffentlichung am 1. Juli 2008 ist PDF in Version 1.7 als ISO 32000-1:2008 ein offener Standard. Das Ziel von PDF ist es, ein Dateiformat für elektronische Schriftstücke zu schaffen, sodass diese unabhängig vom ursprünglichen Anwendungsprogramm, vom Betriebssystem oder von der Hardwareplattform originalgetreu wiedergegeben werden können.
Da wir alle mit PDF-Dokumenten umgehen müssen, möchte ich in diesem Artikel die wichtigsten Anwendungen und Funktionen zur Bearbeitung dieses Formats zusammenfassen. Dabei ist die Menge der möglichen Anwendungsfälle sehr gross. Sie reichen vom Arrangieren von verschiedenen Dokument, über die Anordnung und Ausrichtung einzelner Seiten, bis zum Komprimieren und Konvertieren von und in andere Formate.
Arrangieren
Wenn es um die Anordnung und das Zusammenführen von PDF-Dokumenten geht, ist PDF-Arranger der beste Tipp. Die Beschreibung des Funktionsumfangs dieses Werkzeugs würde diesen Artikel sprengen, weshalb ich auf diesen Beitrag bei GNU/Linux.ch verweisen möchte.
Verkleinern
PDF-Dateien sind oft unnötig gross. Möchte man sie versenden oder ablegen, kann es sinnvoll sein, vorher die Dateigrösse zu reduzieren. Für diesen Zweck empfehle ich das Werkzeug ps2pdf. Die Terminal-Anwendung verwendet Ghostscript als Werkzeugkasten, ist jedoch wesentlich einfacher anwendbar. Hier sind zwei Beispiele:
ps2pdf input.pdf output.pdf
gs
-q -dNOPAUSE -dBATCH -dSAFER \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-dPDFSETTINGS=/screen \
-dEmbedAllFonts=true -dSubsetFonts=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=144 \ `#PDF downsample color image resolution`
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=144 \ `#PDF downsample gray image resolution`
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=144 \ `#PDF downsample mono image resolution`
-sOutputFile=out.pdf \ `#Output file`
file.pdf `#Input file`
Wie man sieht, benötigt ps2pdf lediglich das Input.pdf und verkleinert es in das Output.pdf, während der Ghostscript-Befehl eine Vielzahl an Parametern einsetzt. Dafür hat man dabei eine grössere Kontrolle über das Ergebnis der Komprimierung. Bei meinem Test konnte ps2pdf das Ursprungs-PDF um etwa ein Drittel verkleinern.
Alternativ stehen auch Webseiten zur Verfügung, die die Komprimierung durchführen, zum Beispiel:
Zusammenfügen
Das Zusammenfügen von mehreren PDF-Dateien lässt sich mit dem oben erwähnten PDF-Arranger erledigen. Manchmal ist es jedoch schneller, diese Aufgabe im Terminal durchzuführen. Dafür empfehle ich das PDF-Toolkit (pdftk). Damit ist das Zusammenfügen schnell erledigt:
pdftk a.pdf b.pdf c.pdf cat output abc.pdf
oder
pdftk *.pdf cat output zusammen.pdf
JPGs zu einem PDF zusammenfügen
Bei diesem Anwendungsfall ist eine Format-Konvertierung nötig. Diese wird vom Werkzeug ImageMagick erledigt, welches auf keinem Computer fehlen darf, weil es zur Grundausstattung für die Bild-Konvertierung gehört. Möchte man mehrere Bilder (jpg, png, usw.) in einem PDF zusammenfassen, geht das so:
convert `ls -v *.jpg` output.pdf
oder für eine einzelne Datei:
convert input.jpg output.pdf
Mit Parametern kann man die Qualität des Ergebnisses beeinflussen:
convert -density 150 input.pdf -quality 90 output.png
Weiterführende Angaben findet man auf der ImageMagick Seite.
Splitten
Wer eine PDF-Datei in seine einzelnen Seiten zerlegen möchte, macht das so:
pdftk input.pdf burst
Anschliessend erhält man einzeln nummerierte PDF-Dateien, entsprechend dem Ausgangsdokument.
Annotieren
Möchte man PDF-Dateien mit eigenen Notizen ergänzen, empfehle ich die Anwendung Xournal++. Diese legt eine durchsichtige Folie über die PDF-Datei, auf der man seine Anmerkungen machen kann. Auch dafür verweise ich auf einen Artikel bei GNU/Linux.ch. Aber auch die PDF-Viewer Evince und Ocular bieten eingeschränkte Möglichkeiten zur Annotation.
HTML in PDF umwandeln
Um eine Webseite als PDF-Datei zu speichern, empfiehlt sich die Druckfunktion des Webbrowsers einzusetzen. Man wählt beim Drucken einfach PDF als Ziel-Format. Alternativ kann man das Werkzeug wkhtmltopdf verwenden. Die Verwendung ist sehr einfach:
wkhtmltopdf URL
zum Beispiel:
wkhtmltopdf https://gnulinux.ch
PDF in Text umwandeln
Um aus einer PDF-Datei einen reinen Text (ASCII) zu erzeugen, bedient man sich des Werkzeugs pdftotext. Auch hierbei ist die Anwendung denkbar einfach:
pdftotext input.pdf output.txt
Inhalte von PDF-Dateien bearbeiten
Möchte man den Inhalt eines PDF-Dokuments nachträglich verändern, hat den Sinn des PDF-Formats nicht verstanden. Einer PDF-Datei liegt immer eine bearbeitbare Datei zugrunde, zum Beispiel ein ODT-Dokument (LibreOffice-Writer). PDF wurde nicht für das Bearbeiten geschaffen, sondern zum Anschauen und Ausdrucken. Deshalb ist der Wunsch nach PDF-Bearbeitung eigentlich nicht der Spezifikation entsprechend. Im beruflichen Alltag werde ich dennoch oft mit dieser Anforderung konfrontiert und reagiere wie oben aufgeführt.
Man kann eine PDF-Datei mit LibreOffice-Draw öffnen und erhält dann einzeln bearbeitbare Textfelder bzw. Objekte.
PDF-Formulare
Sowohl das Erstellen, als auch das Ausfüllen von PDF-Formularen, sind unter GNU/Linux ein trauriges Thema. Mit LibreOffice-Writer kann man PDF-Formulare erstellen, wie in diesem Heise-Artikel beschrieben wird. Beim Ausfüllen von Formularen versagen alle freien PDF-Reader. Der Webbrowser Firefox unterstützt diese Funktion bedingt. Die beste Lösung bietet die proprietäre Anwendung Foxit, die in den Repos zur Verfügung steht.
Fazit
Die Möglichkeiten, PDF-Dateien unter Linux zu bearbeiten, sind vielfältig und ausreichend. Lediglich bei der Bearbeitung von PDF-Inhalten und den Formularen gibt es Defizite.
Falls Du als Leser dieses Artikels bessere Erfahrungen gemacht hast, und gute Tipps für die Community hast, freue ich mich sehr über Deinen Kommentar oder einen eigenen Artikel zu einem PDF-Thema.
Quellen:
- https://de.wikipedia.org/wiki/Portable_Document_Format
- https://web.mit.edu/ghostscript/www/Ps2pdf.htm
- https://github.com/pdfarranger/pdfarranger
- https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
- https://www.heise.de/tipps-tricks/Ausfuellbare-PDF-erstellen-so-geht-s-6148750.html
- https://www.foxit.com/