Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| pdf [2009/12/14 14:45] – gerald | pdf [2026/10/30 13:28] (aktuell) – gerald | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| - | ---- | + | ====== Alle PDFs in einem ZIP in eine einzige PDF umwandeln ====== |
| + | |||
| + | Anwendungsfall: | ||
| + | |||
| + | Wenn man via DHL online Päckchen- oder Paket-Aufkleber erstellt kann man alle auf einmal runterladen. Das ist jedoch nur eine ZIP-Datei mit allen einzelnen Zettel-PDFs. Man muss das ZIP entpacken und muss dann wieder alles PDFs einzeln drucken. Man kann sie alle in den Drucker drag& | ||
| + | |||
| + | < | ||
| + | # | ||
| + | # | ||
| + | # zip2pdf - Fasst alle PDFs aus einer ZIP-Datei mit pdfunite zu einem PDF zusammen. | ||
| + | # | ||
| + | # Aufruf: | ||
| + | # | ||
| + | # Voraussetzungen: | ||
| + | |||
| + | set -euo pipefail | ||
| + | |||
| + | usage() { | ||
| + | echo " | ||
| + | exit 1 | ||
| + | } | ||
| + | |||
| + | # --- Argumente prüfen ------------------------------------------------------- | ||
| + | [ $# -ge 1 ] && [ $# -le 2 ] || usage | ||
| + | |||
| + | zip_file=" | ||
| + | [ -f " | ||
| + | |||
| + | # Ausgabename: | ||
| + | if [ $# -eq 2 ]; then | ||
| + | out_pdf=" | ||
| + | else | ||
| + | out_pdf=" | ||
| + | fi | ||
| + | |||
| + | # --- Werkzeuge prüfen ------------------------------------------------------- | ||
| + | command -v unzip >/ | ||
| + | command -v pdfunite >/ | ||
| + | |||
| + | # --- Temporäres Arbeitsverzeichnis ----------------------------------------- | ||
| + | work_dir=" | ||
| + | trap 'rm -rf " | ||
| + | |||
| + | # --- ZIP entpacken ---------------------------------------------------------- | ||
| + | echo " | ||
| + | unzip -q -o " | ||
| + | |||
| + | # --- PDFs sammeln (sortiert, rekursiv) ------------------------------------- | ||
| + | mapfile -t pdfs < <(find " | ||
| + | |||
| + | if [ ${#pdfs[@]} -eq 0 ]; then | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | if [ ${#pdfs[@]} -eq 1 ]; then | ||
| + | echo "Nur eine PDF gefunden – kopiere direkt nach ' | ||
| + | cp -- " | ||
| + | else | ||
| + | echo "Fasse ${#pdfs[@]} PDF-Dateien zusammen ..." | ||
| + | pdfunite " | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | |||
| + | Verwendung: | ||
| + | |||
| + | < | ||
| + | chmod +x zip2pdf | ||
| + | ./zip2pdf dokumente.zip | ||
| + | ./zip2pdf dokumente.zip alles.pdf | ||
| + | </ | ||
| + | |||
| + | |||
| + | Hinweise | ||
| + | |||
| + | * Reihenfolge: | ||
| + | * Sicherheit: Entpackt in ein temporäres Verzeichnis, | ||
| + | * Mehrere PDFs gleichen Namens in verschiedenen Unterordnern sind kein Problem, da find den ganzen Pfad liefert. | ||
| + | * Nur eine PDF: Wird direkt kopiert (pdfunite braucht mindestens zwei Dateien). | ||
| + | * Voraussetzungen installieren (Debian/ | ||
| + | |||
| + | ====== Allerlei ====== | ||
| == Openoffice in PDF umwandeln == | == Openoffice in PDF umwandeln == | ||
| Zeile 37: | Zeile 122: | ||
| * 5 MB free disk space | * 5 MB free disk space | ||
| * At least 800*600 screen solution | * At least 800*600 screen solution | ||
| + | |||
| + | |||
| + | == Viele PDFs in eine einzige umwandeln == | ||
| + | |||
| + | |||
| + | Um mehrere einseitige PDFs in ein einziges mehrseitiges PDF unter Ubuntu/ | ||
| + | |||
| + | == Methode 1: pdfunite (aus dem Paket poppler-utils) == | ||
| + | |||
| + | Installiere zuerst das benötigte Paket: | ||
| + | |||
| + | < | ||
| + | sudo apt update | ||
| + | sudo apt install poppler-utils | ||
| + | </ | ||
| + | |||
| + | Verwende dann pdfunite: | ||
| + | |||
| + | < | ||
| + | pdfunite *.pdf output.pdf | ||
| + | </ | ||
| + | |||
| + | Dies fügt alle PDF-Dateien im aktuellen Verzeichnis in der alphabetischen Reihenfolge zusammen. | ||
| + | |||
| + | == Methode 2: pdftk (aus dem Paket pdftk) == | ||
| + | |||
| + | Installiere pdftk: | ||
| + | |||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | Verwende pdftk: | ||
| + | |||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||