pdfunite a.pdf b.pdf out.pdf fügt Dokumente zusammen, pdfseparate in.pdf page-%d.pdf zerlegt eines. Beide stammen aus poppler-utils, arbeiten schnell und verlustfrei. Was sie nicht können — einen Seitenbereich als einzelnes Dokument herausziehen oder komprimieren — erledigt ghostscript, und diese Arbeitsteilung ist der ganze Artikel.
1. Wie viele Seiten sind das
$ clai wie viele seiten hat merged.pdf→ pdfinfo merged.pdf | grep '^Pages'Pages: 4
pdfinfo druckt zwei Dutzend Metadatenzeilen, gebraucht wird meist eine. Sie dient zugleich als schnelle Kontrolle nach jeder Operation weiter unten.
2. Mehrere Dateien zusammenfügen
$ clai füge invoice.pdf und contract.pdf zu einem dokument zusammen→ pdfunite invoice.pdf contract.pdf merged.pdf
Das letzte Argument ist immer das Ergebnis, alles davor sind Quellen in der Reihenfolge, in der sie erscheinen. Der Befehl gibt nichts aus — prüfen Sie mit pdfinfo.
3. In Einzelseiten zerlegen
$ clai zerlege merged.pdf in eine datei pro seite→ pdfseparate merged.pdf page-%d.pdfpage-1.pdfpage-2.pdfpage-3.pdfpage-4.pdf
Das %d ist Pflicht — dort landet die Seitennummer. Die Liste oben stammt von ls -1, pdfseparate selbst schweigt.
4. Einen Seitenbereich herausziehen
$ clai hole die seiten 2 bis 3 heraus→ pdfseparate -f 2 -l 3 merged.pdf slice-%d.pdfslice-2.pdfslice-3.pdf
-f ist die erste Seite, -l die letzte. Beachten Sie das Ergebnis: zwei Dateien, kein zweiseitiges Dokument — und die Nummerierung behält die Originalseitenzahlen.
5. Ein Bereich als ein Dokument
$ clai extrahiere die seiten 2 bis 3 in ein einziges dokument→ gs -q -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=3 -sOutputFile=pages-2-3.pdf merged.pdf
poppler hat dafür keinen Befehl, also übernimmt ghostscript. Geprüft: pdfinfo pages-2-3.pdf meldet Pages: 2. Ohne gs führt der Weg über pdfseparate und anschließend pdfunite slice-2.pdf slice-3.pdf range.pdf — dieselben zwei Seiten.
6. Die Datei kleiner machen
$ clai komprimiere das pdf damit es in eine e-mail passt→ gs -q -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=small.pdf merged.pdf
An der Demodatei geprüft: 84991 Bytes vorher, 31876 nachher — knapp ein Drittel. /ebook ist das mittlere Profil; /screen drückt stärker und man sieht es an Bildern, /prepress schont die Qualität. Text leidet in keinem Fall, komprimiert werden die enthaltenen Rasterbilder.
Gotchas
pdfuniteüberschreibt sein letztes Argument. Dieser Platz ist immer die Ausgabe.pdfunite part1.pdf part2.pdfohne dritten Namen vernichtetpart2.pdf— die Konvention "letzte Datei ist auch Quelle" gibt es hier nicht.pdfseparatefügt nie zusammen. Selbst mit-fund-lbekommen Sie einen Stapel einseitiger Dateien. Das Zusammenfügen erledigtpdfuniteoder ghostscript.- Ein verschlüsseltes PDF öffnet keines von beiden. Erst das Passwort entfernen (
qpdf --decrypt, wo verfügbar), sonst verweigern beide schlicht das Lesen.
Related questions
Wie drehe ich Seiten? Ghostscript kann die Datei mit -dAutoRotatePages=/None neu ausgeben, eine einzelne Seite zu drehen ist in qpdf jedoch deutlich einfacher.
Wie hole ich den Text heraus? pdftotext file.pdf - druckt den Text ins Terminal. Bei Scans ohne Textebene brauchen Sie stattdessen OCR.
Wie mache ich Bilder aus den Seiten? pdftoppm -png -r 150 file.pdf page schreibt page-1.png, page-2.png und so weiter mit 150 dpi.
See also
- Bilder stapelweise verkleinern
- Große Datei zerteilen und wieder zusammensetzen
- Video mit ffmpeg konvertieren und komprimieren
CliAI weiß, welche der beiden Werkzeugketten Ihre beschriebene Aufgabe erledigt, und zeigt den Befehl vor dem Ausführen. In einer Zeile installieren.