# Einführung
PDF-Dateien werden in vielen Arbeitsabläufen häufig verwendet. Möglicherweise müssen Sie Berichte zusammenführen, große Dateien aufteilen, Textual content oder Tabellen extrahieren, Wasserzeichen hinzufügen oder vertrauliche Inhalte schwärzen. Dabei handelt es sich zwar alles um Routineaufgaben, die manuelle Bearbeitung mehrerer Dateien kann jedoch langsam und fehleranfällig sein. Diese fünf Python-Skripte automatisieren den Prozess. Sie werden über die Befehlszeile ausgeführt, unterstützen die Stapelverarbeitung und sind einfach zu konfigurieren.
Alle Skripte finden Sie auf GitHub.
# 1. PDF-Dateien zusammenführen und aufteilen
// Der Schmerzpunkt
Das Zusammenfassen mehrerer PDF-Dateien zu einer oder das Aufteilen einer großen PDF-Datei in einzelne Dateien nach Seitenbereich gehört zu den häufigsten PDF-Aufgaben. Beides ist mühsam manuell durchzuführen, insbesondere wenn es um viele Dateien oder große Seitenzahlen geht.
// Was das Skript macht
Führt einen Ordner mit PDF-Dateien in einer konfigurierbaren Reihenfolge zu einer einzelnen Ausgabedatei zusammen oder teilt eine einzelne PDF-Datei in separate Dateien nach festgelegten Seitenbereichen auf N Seiten oder durch eine Liste spezifischer Seitenzahlen. Beide Vorgänge werden vom selben Skript über ein Modus-Flag abgewickelt.
// Wie es funktioniert
Das Skript verwendet pypdf für alle Vorgänge auf Seitenebene. Im Zusammenführungsmodus liest es alle PDFs aus einem Eingabeordner, sortiert sie nach Dateinamen (oder einer in einer Textdatei definierten benutzerdefinierten Reihenfolge) und schreibt sie nacheinander in eine einzige Ausgabe-PDF. Im Break up-Modus akzeptiert es entweder eine Seitenbereichsliste, eine feste Blockgröße oder eine Liste von Seitenzahlen zum Teilen. Jedes geteilte Phase wird in eine nummerierte Ausgabedatei geschrieben. Metadaten aus der ersten Eingabedatei bleiben im Zusammenführungsmodus erhalten.
⏩ Holen Sie sich das Skript zum Zusammenführen und Teilen von PDF-Dateien
# 2. Extrahieren von Textual content und Tabellen aus PDFs
// Der Schmerzpunkt
Bevor eine weitere Verarbeitung erfolgen kann, müssen aus einem PDF verwertbare Daten gewonnen werden – sei es Textual content aus einem Bericht oder tabellarische Daten aus einer Abrechnung. Das Kopieren und Einfügen aus einem PDF-Viewer ist für alles, was über ein paar Seiten hinausgeht, unpraktisch und die Ausgabe ist selten sauber.
// Was das Skript macht
Extrahiert Textual content und Tabellen aus einer oder mehreren PDF-Dateien und schreibt die Ergebnisse in strukturierte Ausgabedateien. Der Textual content wird in reine Textual content- oder Markdown-Dateien geschrieben. Tabellen werden in CSV oder Excel geschrieben, wobei professional Tabelle ein Blatt gefunden wird. Unterstützt sowohl textbasierte PDFs als auch grundlegende, das Format erhaltende Extraktion.
// Wie es funktioniert
Das Skript verwendet pypdf für die grundlegende Textextraktion und pdfplumber für Format-bewusste Extraktion und Tabellenerkennung. Für jede Eingabedatei wird Seite für Seite ausgeführt, wobei Textblöcke extrahiert und Tabellenbereiche mithilfe des Tabellenfinders von pdfplumber ermittelt werden. Extrahierte Tabellen werden normalisiert – leere Zeilen entfernt, Überschriften erkannt – und in separate Ausgabedateien geschrieben. Ein zusammenfassender Bericht listet auf, wie viele Seiten und Tabellen in jeder Datei gefunden wurden, und markiert alle Seiten, bei denen die Extraktion keine Ausgabe erzeugte.
⏩ Holen Sie sich das Skript zum Extrahieren von PDF-Textual content und -Tabellen
# 3. Stempeln, Wasserzeichen und Hinzufügen von Seitenzahlen
// Der Schmerzpunkt
Das Hinzufügen eines Wasserzeichens, eines Stempels oder von Seitenzahlen zu einem PDF-Stapel vor der Verteilung ist vom Konzept her einfach, aber über eine grafische Benutzeroberfläche (GUI) ist die Bearbeitung einer Datei nach der anderen langsam. Wenn die Cost groß ist oder die Anforderung wiederkehrend ist, muss sie automatisiert werden.
// Was das Skript macht
Wendet einen Textual content- oder Bildstempel auf jede Seite einer oder mehrerer PDF-Dateien an. Unterstützt diagonale Wasserzeichen, Kopf-/Fußzeilentext, Seitenzahlen und Bildüberlagerungen. Place, Schriftgröße, Deckkraft und Farbe sind alle konfigurierbar. Verarbeitet ganze Ordner im Stapel.
// Wie es funktioniert
Das Skript verwendet pypdf zur Seitenbearbeitung und Reportlab um die Stempelebene zu erzeugen. Für jedes Eingabe-PDF wird mithilfe von Reportlab ein einseitiges Stempel-PDF im Speicher erstellt. Es rendert Textual content an der konfigurierten Place, im Winkel, in der Schriftart und in der Deckkraft oder platziert ein Bild an angegebenen Koordinaten. Diese Stempelseite wird dann mithilfe der Seitenzusammenführung von pypdf auf jeder Seite des Quell-PDF zusammengeführt. Das Ergebnis wird in eine neue Ausgabedatei geschrieben, wobei das Unique unverändert bleibt. Seitenzahlen werden als Sonderfall behandelt und erzeugen einen eindeutigen Stempel professional Seite.
⏩ Holen Sie sich das PDF-Markierungsskript
# 4. Schwärzen sensibler Inhalte
// Der Schmerzpunkt
Vor der externen Freigabe einer PDF-Datei müssen häufig vertrauliche Inhalte – wie Namen, Referenznummern, Finanzzahlen und Adressen – entfernt werden. Das manuelle Zeichnen von Blackboxen über Textual content in einem PDF-Editor funktioniert, entfernt jedoch nicht in allen Instruments tatsächlich den darunter liegenden Textual content und ist für mehr als eine Handvoll Seiten unpraktisch.
// Was das Skript macht
Durchsucht PDF-Seiten nach von Ihnen definierten Textübereinstimmungsmustern – Regex-Muster, exakte Zeichenfolgen oder vordefinierte Kategorien wie E-Mail-Adressen und Telefonnummern – und schwärzt übereinstimmende Inhalte dauerhaft, indem sie durch schwarze Rechtecke ersetzt werden. Gibt eine neue PDF-Datei aus, bei der der zugrunde liegende Textual content entfernt und nicht nur optisch verdeckt wird.
// Wie es funktioniert
Das Skript verwendet pymupdfdas sowohl eine Textsuche mit Begrenzungsrahmenkoordinaten als auch die Möglichkeit bietet, Schwärzungsanmerkungen zu zeichnen, die bei Anwendung den zugrunde liegenden Inhalt dauerhaft entfernen. Für jede Seite sucht das Skript nach allen Übereinstimmungen jedes konfigurierten Musters, markiert die umgrenzenden Rechtecke als Schwärzungsanmerkungen und wendet sie dann an – wodurch der Textual content aus dem Seiteninhaltsstrom entfernt wird. Es wird ein Bericht erstellt, in dem jede vorgenommene Schwärzung aufgeführt ist, einschließlich Seitenzahl, übereinstimmendem Textual content (vor der Schwärzung) und dem Muster, das sie ausgelöst hat.
⏩ Holen Sie sich das PDF-Schwärzungsskript
# 5. Extrahieren von Metadaten und Generieren eines PDF-Inventars
// Der Schmerzpunkt
Wenn Sie mit einer großen Sammlung von PDF-Dateien arbeiten, ist es oft hilfreich, grundlegende Fakten zu jeder einzelnen Datei zu kennen – Seitenanzahl, Dateigröße, Erstellungsdatum, Autor, ob sie verschlüsselt ist, ob sie Textual content enthält oder ein gescanntes Bild ist. Die Prüfung jeder Datei einzeln über einen Viewer ist im großen Maßstab nicht praktikabel.
// Was das Skript macht
Scannt einen Ordner mit PDF-Dateien und extrahiert Metadaten aus jeder einzelnen Datei, einschließlich Seitenzahl, Dateigröße, Erstellungs- und Änderungsdatum, Autor, Hersteller, Verschlüsselungsstatus und ob das Dokument durchsuchbaren Textual content oder gescannte Bilder zu enthalten scheint. Schreibt alles in eine einzige CSV- oder Excel-Inventardatei.
// Wie es funktioniert
Das Skript verwendet pypdf, um Dokumentmetadaten aus dem PDF-Infowörterbuch zu lesen, und pdfplumber, um Seiten für Textinhalte abzutasten. Für jede Datei wird versucht, die PDF-Datei zu öffnen und Commonplace-Metadatenfelder zu lesen. Dabei werden die ersten paar Seiten abgetastet, um festzustellen, ob die Datei im Gegensatz zu gescannten Bildseiten extrahierbaren Textual content enthält. Verschlüsselte Dateien, die nicht geöffnet werden können, werden markiert und nicht stillschweigend übersprungen. Das Ausgabeinventar umfasst eine Zeile professional Datei mit allen extrahierten Feldern und unten eine Zusammenfassungszeile mit Gesamtwerten und Durchschnittswerten.
⏩ Holen Sie sich das PDF-Inventarskript
# Zusammenfassung
Diese fünf Python-Skripte erledigen die PDF-Aufgaben, die normalerweise zu sich wiederholenden manuellen Arbeiten führen: Dateien aufteilen, Inhalte extrahieren, Stapel verarbeiten und Dokument-Workflows bereinigen. Jedes Skript ist so konzipiert, dass es sicher an einzelnen Dateien oder ganzen Ordnern arbeitet und gleichzeitig neue Ausgaben generiert, anstatt die Originale zu ändern.
Beginnen Sie mit einer kleinen Menge, überprüfen Sie die Ausgabe und skalieren Sie dann auf größere Ordner, sobald alles richtig aussieht. Der größte Teil der Einrichtung umfasst lediglich die Set up der aufgelisteten Abhängigkeiten und die Anpassung des Konfigurationsabschnitts für Ihre Dateipfade und Einstellungen.
Bala Priya C ist ein Entwickler und technischer Redakteur aus Indien. Sie arbeitet gerne an der Schnittstelle von Mathematik, Programmierung, Datenwissenschaft und Inhaltserstellung. Zu ihren Interessen- und Fachgebieten gehören DevOps, Datenwissenschaft und Verarbeitung natürlicher Sprache. Sie liebt es zu lesen, zu schreiben, zu programmieren und Kaffee zu trinken! Derzeit arbeitet sie daran, zu lernen und ihr Wissen mit der Entwickler-Neighborhood zu teilen, indem sie Tutorials, Anleitungen, Meinungsbeiträge und mehr verfasst. Bala erstellt außerdem ansprechende Ressourcenübersichten und Programmier-Tutorials.
