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.
GitHub

GitHub-Statistiken

Name:
Sprache:
Sterne:
Gabeln:
Lizenz:
Das Repository wurde zuletzt aktualisiert unter

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.

Ähnliche Produkte

 Deutsch