Raccoon-PC  raccoon-pc_logo.png

PDF Metadata Cleaner für Linux Kubuntu(u. andere) / KDE Plasma

v1.1.0 · Juli 2026
Raccoon-PC Screenshot —
            PDF metadata cleaner with before/after comparison for Linux
            KDE Plasma
Raccoon-PC — Drop-Zone, Metadaten Vorher/Nachher im direkten Vergleich

↓ Download Raccoon-PC-1.1.0-x86_64.AppImage.zip

AppImage (x86_64) + ReadMe · Nachfrage beim ersten Start · Deutsch / English · Linux / KDE Plasma
SHA256: 98827d85e0760ea7ce842a80d293fa12d3d2c3c3e430b470cfaaf98c441dcd7a
Python source code: Raccoon-PC-1.1.0-x86_64.source.zip

English Summary

Raccoon-PC is a free PDF metadata cleaner for Linux with KDE Plasma. It physically strips all metadata out of a PDF file instead of just hiding it, and writes the result to a new file named <name>_clean.pdf — the original stays untouched.

Key features: Four-stage cleaning pipeline (exiftool clears the info dictionary and XMP, Ghostscript rewrites the whole PDF to drop leftovers, exiftool clears the fields Ghostscript just added, and a final check reports remaining metadata and raw stream traces), side-by-side BEFORE / Preview AFTER metadata tables, drag and drop of single values from BEFORE into AFTER to deliberately keep or re-apply individual fields, an editable AFTER column, a first-page preview in a separate window, and drag and drop of PDF files into the app. The interface is available in English and German and can be switched at any time.
Tested on Kubuntu 26.04 / KDE Plasma 6. Single Python file, packed as AppImage with its own Python runtime — no python3-tk needed. On first start it offers to install itself.

Überblick

Raccoon-PC entfernt Metadaten aus PDF-Dateien — und zwar physisch, nicht nur optisch. Viele Werkzeuge überschreiben lediglich die sichtbaren Felder, während Reste im Info-Dict, im XMP-Block oder in den Roh-Streams erhalten bleiben. Raccoon-PC kombiniert deshalb exiftool und Ghostscript zu einer mehrstufigen Kette und kontrolliert das Ergebnis anschließend.

Die Originaldatei wird dabei nie verändert. Das Ergebnis landet als <name>_clean.pdf neben der Quelldatei.

Mit Claude.AI ist der Python-Code unter der Linux Distri Kubuntu entstanden. Das dunkle, rahmenlose Design mit flachen Kacheln entspricht dem Bekudio-Standard-Theme und fügt sich unauffällig in moderne Desktop-Umgebungen ein.

Neu in Version 1.1.0: Die Oberfläche gibt es jetzt auf Deutsch und Englisch, umschaltbar im Fenster, beim ersten Start oder per --lang. Beim ersten Start einer noch nicht installierten AppImage fragt Raccoon-PC, ob es eingerichtet werden soll — mit der Sprachwahl im selben Dialog. Im About-Fenster stehen zwei Kommandozeilen-Befehle zum Kopieren bereit.

Außerdem bringt die AppImage jetzt ihre eigene Python-Laufzeit samt Tcl/Tk mit. Damit entfällt python3-tk als Voraussetzung, und die Datei läuft unabhängig davon, welche Python-Version die Distribution mitbringt.

Version 1.0.0 war die erste Veröffentlichung: vollständige Reinigungskette, Vorher/Nachher-Vergleich mit editierbarer AFTER-Spalte, gezieltes Zurückschreiben einzelner Felder per Drag & Drop und die Seitenvorschau in einem separaten Fenster.

Features

🧹Vierstufige Reinigung

exiftool leert Info-Dict und XMP, Ghostscript schreibt die PDF komplett neu, exiftool leert die von Ghostscript neu gesetzten Felder, danach folgt die Kontrolle.

🔍Kontrolllauf

Nach dem Reinigen wird geprüft, welche Metadaten noch vorhanden sind und ob Spuren in den Roh-Streams stehen — per strings aus binutils.

↔️Vorher / Nachher

Zwei Tabellen nebeneinander: BEFORE zeigt den Ist-Stand, Preview AFTER das Ergebnis. Feldname und Feldwert getrennt, mit eigenem Scrollbalken.

🖐️Werte-Drag & Drop

Einzelne Werte lassen sich aus BEFORE in ein Feld der AFTER-Spalte ziehen. Der Cursor wechselt zur Greifhand, das Zielfeld wird markiert.

✏️Editierbares AFTER

Die Wertespalte der AFTER-Tabelle ist frei beschreibbar. Nicht-leere Felder werden nach der Reinigung gezielt wieder gesetzt.

📄Seitenvorschau

Die erste Seite wird per PyMuPDF gerendert und in einem separaten, nicht fokussierten Fenster gezeigt — das Hauptfenster bleibt bedienbar.

📥Drag & Drop

PDF per Drag & Drop auf die Drop-Zone ziehen oder per Klick über den Dateidialog auswählen. Start auch direkt mit Dateipfad möglich.

🛡️Original bleibt

Es wird nie in die Quelldatei geschrieben. Das Ergebnis entsteht als neue Datei <name>_clean.pdf; bei vorhandener Datei wird nachgefragt.

🌐Deutsch / English

Die gesamte Oberfläche liegt in beiden Sprachen vor. Umschalten per Knopf im Fenster — die geladene Datei bleibt dabei erhalten. Die Wahl wird gemerkt.

📦Eigenes Python

Python und Tcl/Tk stecken in der AppImage. Kein python3-tk, keine Abhängigkeit von der Python-Version der Distribution.

Die Reinigungskette

Der eigentliche Vorgang läuft in vier Schritten ab — bei gezielt beibehaltenen Feldern kommt ein fünfter dazu:

Schritt Werkzeug Wirkung
1 exiftool Leert alle Metadaten: Info-Dictionary und XMP-Block
2 gs (Ghostscript) Schreibt die PDF vollständig neu — dabei fallen Altreste weg, die in Objekten oder Streams hängen
3 exiftool Leert die Felder, die Ghostscript beim Neuschreiben selbst gesetzt hat (z. B. Producer)
4 exiftool + strings Kontrolle: listet verbliebene Metadaten und sucht nach Spuren in den Roh-Streams
5 exiftool / PyMuPDF Optional: setzt die in AFTER eingetragenen Felder gezielt wieder — erst nach der vollständigen Reinigung

Die Reihenfolge ist bewusst so gewählt: Erst wird rückstandslos gereinigt, dann kommt nur das zurück, was ausdrücklich gewünscht ist. So bleibt die forensische Reinigung erhalten, auch wenn einzelne Felder erhalten bleiben sollen.

Datumsfelder

Die Felder CreateDate und ModifyDate werden nicht über exiftool geschrieben, sondern über PyMuPDF. Grund: exiftool normalisiert den PDF-Datumsstring und verliert dabei den Zeitzonen-Offset (+02'00). PyMuPDF schreibt den String dagegen unverändert in den Info-Dict.

Behandelte Metadaten-Felder

Feld exiftool-Tag Wiederherstellbar
Title -Title= ja
Author -Author= ja
Subject -Subject= ja
Keywords -Keywords= ja
Creator -Creator= ja
Producer -Producer= ja
CreationDate -CreateDate= ja — über PyMuPDF, Zeitzone bleibt erhalten
ModDate -ModifyDate= ja — über PyMuPDF, Zeitzone bleibt erhalten

Installation

Voraussetzungen

Komponente Details
Betriebssystem Linux mit Wayland (entwickelt unter Kubuntu 26.04 / KDE Plasma 6) auf AMD und intel
Ein Test mit Ubuntu-26.04.4-desktop-amd64 war positiv.
Python, Tcl/Tk und Python-Pakete gebündelt Die AppImage bringt eine eigene Python-Laufzeit samt Tcl/Tk mit, dazu pymupdf, pillow und tkinterdnd2. python3-tk wird nicht gebraucht, und die Python-Version der Distribution spielt keine Rolle.
exiftool, ghostscript, binutils erforderlich Die drei Werkzeuge ruft Raccoon-PC als Unterprozess auf; fehlt eines, meldet die App das beim Start. Nachinstallieren mit
sudo apt install libimage-exiftool-perl ghostscript binutils
oder bequemer über den eingebauten Schalter:
sudo ./Raccoon-PC-1.1.0-x86_64.AppImage --deps
Gruppen / udev-Regeln nicht nötig Raccoon-PC braucht keine Gruppenmitgliedschaft und keine udev-Regel — es arbeitet sofort, ohne Ab- und Anmelden.

Schritt 1 — Entpacken & ausführbar machen

Das heruntergeladene Archiv entpacken und die AppImage ausführbar machen:

unzip Raccoon-PC-1.1.0-x86_64.AppImage.zip
chmod +x Raccoon-PC-1.1.0-x86_64.AppImage

Alternativ per Rechtsklick → Eigenschaften → „Ausführen als Programm erlauben".

Schritt 2 — Starten

Per Doppelklick im Dateimanager oder im Terminal:

./Raccoon-PC-1.1.0-x86_64.AppImage

Beim ersten Start einer noch nicht installierten AppImage erscheint ein Begrüßungsfenster. Dort wird zweierlei gefragt: die Sprache (English ist die Vorgabe, Deutsch steht daneben) und ob Raccoon-PC eingerichtet werden soll — also eine Kopie nach ~/.local/bin und ein Eintrag im Startmenü.

Zur Wahl stehen Installieren, Jetzt nicht und Nicht mehr fragen. „Jetzt nicht" merkt sich nichts — beim nächsten Start kommt die Frage wieder, solange nichts installiert ist. Für die Einrichtung wird kein Passwort gebraucht: es wird ausschließlich ins eigene Home geschrieben.

Die Systemwerkzeuge (exiftool, ghostscript, binutils) installiert dieser Dialog nicht — dafür braucht es root-Rechte. Fehlt eines, sagt Raccoon-PC beim Start Bescheid und nennt den apt-Befehl; bequemer geht es mit sudo ./Raccoon-PC-1.1.0-x86_64.AppImage --deps.

Schritt 3 — Aktualisieren

Eine neuere AppImage-Datei herunterladen und einmal mit --update aufrufen:

./Raccoon-PC-1.1.0-x86_64.AppImage --update

Die installierte Kopie wird ersetzt, Menüeintrag und Icon werden aufgefrischt. Raccoon-PC merkt sich die installierte Version und nennt den Sprung beim Aktualisieren (1.0.0 -> 1.1.0). Der Austausch läuft über eine temporäre Datei und wird erst am Schluss umbenannt, damit bei einem Abbruch keine halbe Datei zurückbleibt.

Die einmal gewählte Sprache bleibt beim Update erhalten — es wird nicht erneut gefragt.

Command-Line-Parameter

--version und --help beantwortet die AppImage ohne Python zu starten; die übrigen Schalter brauchen ebenfalls keine installierten Abhängigkeiten. Die Liste steht auch im About-Fenster, mit Knopf zum Kopieren:

Parameter Wirkung
datei.pdf Direkt mit einer PDF starten
--install Nach ~/.local/bin kopieren und Menüeintrag anlegen
--uninstall Menüeintrag, Icon und installierte Kopie entfernen
--update Installation auf die Version dieser Datei aktualisieren
--deps Fehlende Systemwerkzeuge nachinstallieren — als einziger Schalter mit sudo aufzurufen
--lang de|en Sprache der Oberfläche setzen und merken. Lässt sich mit einer Aktion verbinden:
--lang de --install
--version Version dieser AppImage anzeigen
--help Kurzhilfe ausgeben — in der eingestellten Sprache

--install, --update und --uninstall werden bewusst ohne sudo aufgerufen: Menüeintrag und Programmkopie gehören ins eigene Home. Mit sudo landeten sie unter /root/.local und tauchten im Startmenü nie auf — Raccoon-PC weist diesen Aufruf deshalb ab und sagt warum.

Desktop-Integration

Der Menüeintrag zeigt auf ~/.local/bin/raccoon-pc.AppImage — ein Pfad ohne Versionsnummer, der auch nach einem Update gültig bleibt und unabhängig davon ist, wo die heruntergeladene Datei liegt. Über den Eintrag MimeType=application/pdf erscheint Raccoon-PC in KDEs „Öffnen mit"-Menü für PDF-Dateien; ein so übergebener Dateipfad wird direkt geladen.

Erscheint der Menüeintrag nicht sofort, liest KDE den Cache noch verzögert. Ab- und Anmelden hilft, oder:

kbuildsycoca6 --noincremental

Bedienung

Aktion Wirkung
PDF auf die Drop-Zone ziehen Datei laden, BEFORE-Tabelle füllen
Klick auf die Drop-Zone Dateidialog zum Auswählen öffnen
Wert aus BEFORE nach AFTER ziehen Feldwert übernehmen — bleibt nach dem Reinigen erhalten
Klick in ein AFTER-Feld Wert direkt eintippen oder ändern
AFTER-Feld leeren Feld wird nicht zurückgeschrieben — bleibt leer
Klick auf ▶ Start Reinigung starten; Ergebnis als <name>_clean.pdf
Klick auf Deutsch / English Sprache umschalten — die geladene Datei bleibt erhalten, die Wahl wird gemerkt
Klick auf About Info-Fenster mit Version, Lizenzen und den Kommandozeilen-Befehlen zum Kopieren

Cursor-Rückmeldung beim Ziehen

Der Cursor zeigt an, was gerade möglich ist: im Ruhezustand ein Zeigefinger („hier kann man greifen"), während des Ziehens eine geschlossene Greifhand, über einem gültigen Zielfeld ein Plus-Zeichen („Ablegen OK").

Deinstallation

Schritt 1 — AppImage & Integration entfernen

Am einfachsten über den eingebauten Schalter — er entfernt Menüeintrag, Icon und die installierte Kopie in ~/.local/bin/:

./Raccoon-PC-1.1.0-x86_64.AppImage --uninstall

Danach die heruntergeladene AppImage-Datei löschen. Bereits gereinigte PDF-Dateien bleiben selbstverständlich erhalten.

Schritt 2 — Konfiguration löschen

--uninstall lässt die Einstellungen absichtlich stehen, damit eine spätere Neuinstallation nicht wieder nach der Sprache fragt. Für die restlose Entfernung:

rm -rf ~/.config/raccoon-pc/

Beide Befehle zusammen stehen im About-Fenster zum Kopieren bereit.

Schritt 3 — Optional: Systempakete entfernen

Die per apt installierten Pakete bleiben bestehen — sie sind allgemein nützlich, und binutils gehört auf vielen Systemen ohnehin zur Grundausstattung. Falls sie weg sollen:

sudo apt remove libimage-exiftool-perl ghostscript

Technische Details

Eigenschaft Wert
Sprache Python — in der AppImage ist Python 3.12 samt Tcl/Tk gebündelt
Oberflächensprachen Deutsch und Englisch, im laufenden Programm umschaltbar. Vorgabe ist Englisch; die Systemsprache wird bewusst nicht ausgewertet
GUI-Framework tkinter, Bekudio-Theme (theme.py)
Reinigung exiftool (Info-Dict + XMP) und Ghostscript (vollständiges Neuschreiben), als Subprozess aufgerufen
Kontrolle exiftool für verbliebene Felder, strings (binutils) für Spuren in den Roh-Streams
Seitenvorschau PyMuPDF (fitz) rastert die erste Seite; Anzeige über Pillow in einem separaten Toplevel-Fenster
Drag & Drop tkinterdnd2 für Dateien, eigener X-Grab-Mechanismus für das Ziehen einzelner Werte zwischen den Tabellen
Ausgabe <name>_clean.pdf — die Originaldatei bleibt unverändert
Distribution AppImage (x86_64) auf Basis von python-appimage, mit eigener Python-Laufzeit und gebündelten Paketen; die Systemwerkzeuge kommen über --deps per apt dazu
Konfiguration ~/.config/raccoon-pc/config — schlichtes key=value (lang, firstrun), lesbar für Shell und Python
Lizenz AGPL-3.0-or-later
Du darfst die Software kostenlos benutzen, kopieren, ändern und weitergeben — auch gewerblich. Gibst du sie weiter oder machst du sie über ein Netzwerk zugänglich, muss der Quelltext mitgeliefert oder erreichbar sein, und deine Änderungen stehen wieder unter der AGPL.
Ich gebe keine Garantie und hafte nicht für Schäden oder Probleme.

You may use, copy, modify and share the software free of charge, including commercially. If you distribute it or make it available over a network, the source code must come with it or be reachable, and your changes fall under the AGPL as well.
I provide no warranty and am not liable for any damages or problems.

Warum AGPL und nicht MIT: Raccoon-PC importiert PyMuPDF direkt, und PyMuPDF steht unter der AGPL. Diese Bedingung wirkt auf das Gesamtwerk. exiftool und Ghostscript werden dagegen nur als Unterprozess aufgerufen und lösen sie nicht aus.

Fehlersuche

Symptom Abhilfe
AppImage startet nicht, keine Meldung Ausführbar-Bit fehlt: chmod +x Raccoon-PC-1.1.0-x86_64.AppImage
dlopen(): error loading libfuse.so.2 Ältere AppImage-Runtimes brauchen FUSE 2: sudo apt install libfuse2 — oder einmalig mit APPIMAGE_EXTRACT_AND_RUN=1 starten
Meldung „The following tools are missing" exiftool, ghostscript oder binutils fehlt:
sudo ./Raccoon-PC-1.1.0-x86_64.AppImage --deps
Menüeintrag erscheint nicht kbuildsycoca6 --noincremental oder ab- und wieder anmelden
--install meldet Erfolg, im Startmenü steht nichts Vermutlich mit sudo aufgerufen — dann landet alles unter /root/.local. Ohne sudo wiederholen
Oberfläche in der falschen Sprache Knopf Deutsch / English oben rechts im Fenster, oder
./Raccoon-PC-1.1.0-x86_64.AppImage --lang de
Beim Start kommt keine Nachfrage zur Installation Sie erscheint nur, solange nichts installiert ist und „Nicht mehr fragen" nicht gewählt wurde. Zurücksetzen mit rm ~/.config/raccoon-pc/config