PyMuPDF
Open-Source-Python-Bibliothek zum Verwalten von PDF-Metadaten
Probieren Sie PyMuPDF aus, die kostenlose Open Source-Python-Bibliothek, um auf die Metadaten von PDF-Dokumenten zuzugreifen und diese zu ändern.
Was ist PyMuPDF?
PyMuPDF, auch bekannt als Fitz, ist eine Open-Source-Python-Bibliothek, die viele Funktionen bietet, wie beispielsweise das Parsen von PDFs, das Teilen und Zusammenführen von PDFs usw. Auf dieser Seite besprechen wir jedoch nur, wie Python-Entwickler die PyMuPDF-Bibliothek verwenden können, um Aufgaben im Zusammenhang mit PDF-Metadaten zu bewältigen, wie beispielsweise:
- PDF-Metadaten lesen: PyMuPDF unterstützt den Zugriff auf Metadaten von PDF-Dokumenten, die Informationen wie Autor, Titel, Betreff und Erstellungsdatum usw. enthalten.
- PDF-Metadaten ändern: Die Bibliothek ermöglicht auch das Ändern von Metadaten von PDF-Dokumenten.
- XML-Metadaten lesen: PDF-Dokumente enthalten auch XML-Metadaten, die nicht auf Standarddokumenteigenschaften wie Autor, Titel usw. beschränkt sind und zusätzliche Metadaten enthalten können. Mit PyMuPDF können Entwickler diese auch lesen.
- XML-Metadaten ändern: Entwickler können mit der Bibliothek PyMuPDF auch XML-Metadaten von PDFs ändern.
Erste Schritte mit PyMuPDF
Sie benötigen Python Version 3.8.0 oder höher, um PyMuPDF zu installieren und zu verwenden. Installieren Sie also zuerst Python und verwenden Sie dann die folgenden Befehle, um PyMuPDF mit pip und virtueller Umgebung auf Ihrem Computer zu installieren.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Windows
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
PDF-Metadaten lesen
Wir können Metadaten einer PDF-Datei mithilfe des metadata-Elements der PyMuPDF-Bibliothek lesen, das den vollständigen Metadateninhalt des Dokuments enthält. Der folgende Codeausschnitt zeigt, wie die Metadaten einer PDF-Datei aus dem metadata-Element abgerufen werden:
Ausgabe
Der folgende Screenshot zeigt die mit PyMuPDF aus einer PDF-Datei abgerufenen Metadaten:
PDF-Metadaten bearbeiten
Wir können die Metadaten von PDFs mit der PyMuPDF-Bibliothek bearbeiten, indem wir ein Wörterbuch mit den zu ändernden Feldern und ihren neuen Werten an die Methode set_metadata übergeben, wie im folgenden Codeausschnitt gezeigt:
XML-Metadaten aus PDFs lesen
Wir können XML-Metadaten einer PDF-Datei mithilfe der PyMuPDF-Bibliothek abrufen. Wir verwenden die Methode get_xml_metadata, die die gesamten XML-Metadaten zurückgibt, wie im folgenden Codeausschnitt gezeigt:
Ausgabe
Der folgende Screenshot zeigt die XML-Metadaten, die mit PyMuPDF aus einer PDF-Datei abgerufen wurden:
XML-Metadaten von PDFs ändern
Wir können die XML-Metadaten einer PDF-Datei mit der Methode set_xml_metadata der PyMuPDF-Bibliothek festlegen oder ändern. Dies ist nicht so einfach wie das Ersetzen der Metadaten auf Dokumentebene, da set_xml_metadata jeden String akzeptiert und die vollständigen XML-Metadaten durch den übergebenen String ersetzt.
Um ein unbeabsichtigtes Löschen von Metadateninformationen zu vermeiden, holen wir zunächst die vollständigen XML-Metadaten als Zeichenfolge mithilfe von get_xml_metadata ab und ersetzen dann die gewünschten Informationen mithilfe der replace-Methode der Zeichenfolge. Abschließend übergeben wir das vollständige XML mit geänderten Feldern an die set_xml_metadata-Methode, die die gesamten XML-Metadaten des PDF ändert. Weitere Einzelheiten finden Sie im folgenden Codeausschnitt:
Abschluss
Zusammenfassend lässt sich sagen, dass PyMuPDF ein großartiges Tool für Aufgaben im Zusammenhang mit der Metadatenmanipulation ist. Wir können die Metadateninformationen von PDFs problemlos abrufen und ändern. Eine bemerkenswerte Schwäche liegt jedoch in der Methode set_xml_metadata. Diese Methode akzeptiert jeden an sie übergebenen String und überschreibt damit das vorherige XML, was zu unbeabsichtigtem Informationsverlust führen kann. Um dieses Problem zu vermeiden, müssen Entwickler ihre Logik implementieren, um korrekte Änderungen in XML-Metadaten sicherzustellen.