PyMuPDF
Open Source Python-bibliotheek om PDF-metagegevens te beheren
Probeer PyMuPDF, gratis en open source Python-bibliotheek om metadata van PDF-documenten te openen en te wijzigen.
Wat is PyMuPDF?
PyMuPDF, ook bekend als Fitz, is een open source Python-bibliotheek die veel functies biedt, zoals het parseren van PDF's, PDF's splitsen en samenvoegen etc. maar op deze pagina bespreken we alleen hoe Python-ontwikkelaars de PyMuPDF-bibliotheek kunnen gebruiken om PDF-metagegevensgerelateerde taken uit te voeren, zoals:
- PDF-metadata lezen: PyMuPDF ondersteunt toegang tot metadata van PDF-documenten die informatie bevatten zoals auteur, titel, onderwerp en aanmaakdatum enz.
- PDF-metagegevens wijzigen: De bibliotheek maakt het ook mogelijk om metagegevens van PDF-documenten te wijzigen.
- XML-metagegevens lezen: PDF-documenten bevatten ook XML-metagegevens die niet beperkt zijn tot standaard documenteigenschappen zoals auteur, titel enz. en kunnen aanvullende metagegevens bevatten. 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.
Aan de slag met PyMuPDF
Je hebt Python versie 3.8.0 of hoger nodig om PyMuPDF te installeren en te gebruiken. Installeer dus eerst Python en gebruik vervolgens onderstaande opdrachten om PyMuPDF op uw computer te installeren met behulp van pip en virtuele omgeving.
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
ramen
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, dat 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:
De onderstaande schermafbeelding toont de opgehaalde metadata van een PDF met behulp van PyMuPDF:
Bewerk PDF-metagegevens
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:
Lees XML-metagegevens van PDF's
We kunnen XML-metagegevens van een PDF ophalen met behulp van de PyMuPDF-bibliotheek. We gebruiken de methode get_xml_metadata die de volledige XML-metagegevens retourneert, zoals weergegeven in het onderstaande codefragment:
De onderstaande schermafbeelding toont de XML-metagegevens die zijn opgehaald uit een PDF met behulp van PyMuPDF:
Wijzig XML-metagegevens van PDF's
We kunnen de XML-metagegevens van een PDF instellen of wijzigen met behulp van de set_xml_metadata-methode van de PyMuPDF-bibliotheek. Het is niet zo eenvoudig als het vervangen van metagegevens op documentniveau, omdat de set_xml_metadata elke tekenreeks accepteert en de volledige XML-metagegevens vervangt door de tekenreeks die eraan wordt doorgegeven.
Om onbedoelde verwijdering van metadata-informatie te voorkomen, halen we eerst de volledige XML-metadata op als een string met behulp van de get_xml_metadata en gebruiken vervolgens de replace methode van string om de gewenste string te vervangen informatie ten slotte geven we de volledige XML met gewijzigde velden door aan de set_xml_metadata methode die de volledige XML-metagegevens van de PDF wijzigt. Bekijk het onderstaande codefragment voor meer informatie:
Conclusie
Samenvattend is PyMuPDF een geweldig hulpmiddel voor taken die verband houden met de manipulatie van metagegevens. We kunnen de metadata-informatie van PDF's eenvoudig ophalen en wijzigen. Een opmerkelijke zwakte ligt echter in de set_xml_metadata-methode. Deze methode accepteert elke tekenreeks die eraan wordt doorgegeven en overschrijft daarmee de vorige XML, wat onbedoeld verlies van informatie kan veroorzaken. Om dit probleem te voorkomen, moeten ontwikkelaars hun logica implementeren om correcte wijzigingen in XML-metagegevens te garanderen.