Inhaltsverzeichnis

PDF

Portable Data Format

Postscript Level 3

FreePDF

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&droppen, aber dann braucht man erst mal das Druckericon irgendwo. Hier die Lösung. Dieses Bash-Skript entpackt das ZIP und fügt alle PDFs darin in 1 PDF zusammen. Vola, nur noch 1X Drucken.

#!/usr/bin/env bash
#
# zip2pdf - Fasst alle PDFs aus einer ZIP-Datei mit pdfunite zu einem PDF zusammen.
#
# Aufruf:  ./zip2pdf <archiv.zip> [ausgabe.pdf]
#
# Voraussetzungen: unzip, pdfunite (poppler-utils)

set -euo pipefail

usage() {
    echo "Aufruf: $(basename "$0") <archiv.zip> [ausgabe.pdf]" >&2
    exit 1
}

# --- Argumente prüfen -------------------------------------------------------
[ $# -ge 1 ] && [ $# -le 2 ] || usage

zip_file="$1"
[ -f "$zip_file" ] || { echo "Fehler: '$zip_file' nicht gefunden." >&2; exit 1; }

# Ausgabename: Standard = ZIP-Name ohne Endung + ".pdf"
if [ $# -eq 2 ]; then
    out_pdf="$2"
else
    out_pdf="${zip_file%.*}.pdf"
fi

# --- Werkzeuge prüfen -------------------------------------------------------
command -v unzip    >/dev/null 2>&1 || { echo "Fehler: 'unzip' nicht installiert. sudo apt install unzip"    >&2; exit 1; }
command -v pdfunite >/dev/null 2>&1 || { echo "Fehler: 'pdfunite' nicht installiert. sudo apt install poppler-utils" >&2; exit 1; }

# --- Temporäres Arbeitsverzeichnis -----------------------------------------
work_dir="$(mktemp -d)"
trap 'rm -rf "$work_dir"' EXIT

# --- ZIP entpacken ----------------------------------------------------------
echo "Entpacke '$zip_file' ..."
unzip -q -o "$zip_file" -d "$work_dir"

# --- PDFs sammeln (sortiert, rekursiv) -------------------------------------
mapfile -t pdfs < <(find "$work_dir" -type f -iname '*.pdf' | sort)

if [ ${#pdfs[@]} -eq 0 ]; then
    echo "Fehler: Keine PDF-Dateien im Archiv gefunden." >&2
    exit 1
fi

if [ ${#pdfs[@]} -eq 1 ]; then
    echo "Nur eine PDF gefunden – kopiere direkt nach '$out_pdf'."
    cp -- "${pdfs[0]}" "$out_pdf"
else
    echo "Fasse ${#pdfs[@]} PDF-Dateien zusammen ..."
    pdfunite "${pdfs[@]}" "$out_pdf"
fi

echo "Fertig: '$out_pdf'"

Verwendung:

chmod +x zip2pdf
./zip2pdf dokumente.zip            # -> dokumente.pdf
./zip2pdf dokumente.zip alles.pdf  # -> alles.pdf

Hinweise

Allerlei

Openoffice in PDF umwandeln

Das geht natürlich über die Export-Funktion von OOo.

Interessant ist es als Commandline-Funktion ohne X.

OOo to PDF

JPG in PDF umwandeln

jpg_to_pdf

PDF in TXT umwandeln

http://www.somepdf.com/some-pdf-to-txt-converter.html

(Windows only)

Before installing Some PDF to TXT Converter, please be sure you have:

Viele PDFs in eine einzige umwandeln

Um mehrere einseitige PDFs in ein einziges mehrseitiges PDF unter Ubuntu/Debian zusammenzufügen, gibt es mehrere Möglichkeiten. Hier sind die gängigsten Methoden:

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:

sudo apt install pdftk

Verwende pdftk:

pdftk *.pdf cat output output.pdf