PyMuPDF

 
 

Open Source Python-bibliotheek voor het beheren van PDF-metagegevens

Probeer PyMuPDF, een gratis en open source Python-bibliotheek, om toegang te krijgen tot metagegevens van PDF-documenten en deze te wijzigen.

Wat is PyMuPDF?

PyMuPDF, ook bekend als Fitz, is een open source Python-bibliotheek die veel functies biedt, zoals het parsen van PDF's, het splitsen en samenvoegen van PDF's, enz. Op deze pagina bespreken we echter alleen hoe Python-ontwikkelaars de PyMuPDF-bibliotheek kunnen gebruiken om taken met betrekking tot PDF-metagegevens af te handelen, zoals:

  • PDF-metagegevens lezen: PyMuPDF ondersteunt de toegang tot metagegevens van PDF-documenten met informatie zoals auteur, titel, onderwerp, aanmaakdatum, etc.
  • PDF-metagegevens wijzigen: Met de bibliotheek kunt u ook metagegevens van PDF-documenten wijzigen.
  • Lees XML-metadata: PDF-documenten bevatten ook XML-metadata die niet beperkt is tot standaarddocumenteigenschappen zoals auteur, titel, etc. en die extra metadata kunnen hebben. Met PyMuPDF kunnen ontwikkelaars het ook lezen.
  • XML-metagegevens wijzigen: Ontwikkelaars kunnen ook XML-metagegevens van PDF's wijzigen met behulp van de PyMuPDF-bibliotheek.
GitHub

GitHub-statistieken

Naam:
Taal:
Sterren:
Vorken:
Licentie:
De opslagplaats is voor het laatst bijgewerkt op

Aan de slag met PyMuPDF

Je hebt Python versie 3.8.0 of hoger nodig om PyMuPDF te installeren en gebruiken. Installeer dus eerst Python en gebruik dan onderstaande commando's om PyMuPDF op je machine te installeren met pip en virtual environment.

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

Vensters


python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf  

PDF-metagegevens lezen

We kunnen metadata van een PDF lezen met behulp van het metadata-lid van de PyMuPDF-bibliotheek, die de volledige metadata-inhoud van het document bevat. Het onderstaande codefragment laat zien hoe u de metadata van een PDF kunt verkrijgen van het metadata-lid:

Uitvoer

De onderstaande schermafbeelding toont de opgehaalde metagegevens uit een PDF met behulp van PyMuPDF:

PDF-metagegevens bewerken

We kunnen de metagegevens van PDF's bewerken met behulp van de PyMuPDF-bibliotheek door een woordenboek met de velden die we willen wijzigen, samen met hun nieuwe waarden, door te geven aan de methode set_metadata, zoals weergegeven in het onderstaande codefragment:

XML-metagegevens van PDF's lezen

We kunnen XML-metadata van een PDF ophalen met behulp van de PyMuPDF-bibliotheek. We gebruiken de get_xml_metadata-methode die de volledige XML-metadata retourneert, zoals weergegeven in het onderstaande codefragment:

Uitvoer

De onderstaande schermafbeelding toont de XML-metagegevens die uit een PDF zijn opgehaald met behulp van PyMuPDF:

XML-metagegevens van PDF's wijzigen

We kunnen de XML-metadata van een PDF instellen of wijzigen met de methode set_xml_metadata van de PyMuPDF-bibliotheek. Het is niet zo eenvoudig als het vervangen van de metadata op documentniveau, omdat de set_xml_metadata elke string accepteert en de volledige XML-metadata vervangt met de string die eraan is doorgegeven.

Om onbedoelde verwijdering van metadata-informatie te voorkomen, halen we eerst de volledige XML-metadata op als een string met behulp van get_xml_metadata en gebruiken we vervolgens de replace-methode van string om de gewenste informatie te vervangen. Tot slot geven we de volledige XML met gewijzigde velden door aan de set_xml_metadata-methode die de volledige XML-metadata van de PDF wijzigt. Bekijk het onderstaande codefragment voor meer informatie:

Conclusie

Samenvattend is PyMuPDF een geweldige tool voor taken gerelateerd aan metadata manipulatie. We kunnen eenvoudig de metadata informatie van PDF's ophalen en wijzigen. Echter, een opvallende zwakte ligt in de set_xml_metadata methode. Deze methode accepteert elke string die eraan wordt doorgegeven en overschrijft de vorige XML ermee, wat onbedoeld verlies van informatie kan veroorzaken om dit probleem te voorkomen moeten ontwikkelaars hun logica implementeren om correcte wijzigingen in XML metadata te garanderen.

Vergelijkbare Producten

 Nederlands