PyMuPDF
Open Source Python-bibliotek til at administrere PDF-metadata
Prøv PyMuPDF, Free & Open Source Python-biblioteket for at få adgang til og ændre metadata for PDF-dokumenter.
Hvad er PyMuPDF?
PyMuPDF, også kendt som Fitz, er et open source Python-bibliotek, der tilbyder mange funktioner såsom parsing af PDF'er, opdeling og fletning af PDF'er osv., men på denne side vil vi kun diskutere, hvordan Python-udviklere kan bruge PyMuPDF-biblioteket til at håndtere PDF-metadatarelaterede opgaver såsom:
- Læs PDF-metadata: PyMuPDF understøtter adgang til metadata for PDF-dokumenter, der indeholder oplysninger såsom forfatter, titel, emne og oprettelsesdato osv.
- Rediger PDF-metadata: Biblioteket tillader også ændring af metadata for PDF-dokumenter.
- Læs XML-metadata: PDF-dokumenter indeholder også XML-metadata, som ikke er begrænset til standarddokumentegenskaber som forfatter, titel osv. og kan have yderligere metadata. Med PyMuPDF kan udviklere også læse den.
- Skift XML-metadata: Udviklere kan også ændre XML-metadata for PDF-filer ved hjælp af PyMuPDF-biblioteket.
Kom godt i gang med PyMuPDF
Du skal bruge Python version 3.8.0 eller nyere for at installere og bruge PyMuPDF. Så installer først Python og brug derefter nedenstående kommandoer til at installere PyMuPDF på din maskine ved hjælp af pip og virtuelt miljø.
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
Læs PDF-metadata
Vi kan læse metadata af en PDF ved at bruge metadata-medlemmet af PyMuPDF-biblioteket, som indeholder det komplette metadataindhold i dokumentet. Nedenstående kodestykke viser, hvordan man henter metadataene for en PDF fra metadata-medlemmet:
Produktion
Nedenstående skærmbillede viser de hentede metadata fra en PDF ved hjælp af PyMuPDF:
Rediger PDF-metadata
Vi kan redigere metadata for PDF-filer ved hjælp af PyMuPDF-biblioteket ved at sende en ordbog, der indeholder de felter, vi ønsker at ændre sammen med deres nye værdier, til set_metadata-metoden som vist i nedenstående kodestykke:
Læs XML-metadata for PDF-filer
Vi kan hente XML-metadata fra en PDF ved hjælp af PyMuPDF-biblioteket. Vi bruger metoden get_xml_metadata, som returnerer hele XML-metadataene som vist i nedenstående kodestykke:
Produktion
Nedenstående skærmbillede viser XML-metadata hentet fra en PDF ved hjælp af PyMuPDF:
Skift XML-metadata for PDF-filer
Vi kan indstille eller ændre XML-metadataene for en PDF ved hjælp af set_xml_metadata-metoden i PyMuPDF-biblioteket. Det er ikke så ligetil som at erstatte metadataene på dokumentniveau, fordi set_xml_metadata accepterer enhver streng og erstatter de komplette XML-metadata med den streng, der sendes til den.
For at undgå utilsigtet sletning af metadataoplysninger henter vi først de komplette XML-metadata som en streng ved hjælp af get_xml_metadata og bruger derefter erstat-metoden for streng til at erstatte den ønskede streng information endelig videregiver vi den komplette XML med ændrede felter til set_xml_metadata metoden, som ændrer hele XML-metadataene i PDF'en. Tjek nedenstående kodestykke for detaljer:
Konklusion
Sammenfattende er PyMuPDF et fantastisk værktøj til opgaver relateret til metadatamanipulation. Vi kan nemt hente og ændre metadataoplysningerne i PDF-filer. En bemærkelsesværdig svaghed ligger dog i set_xml_metadata-metoden. Denne metode accepterer enhver streng, der sendes til den og overskriver den tidligere XML med den, hvilket kan forårsage utilsigtet tab af information for at undgå dette problem, udviklere skal implementere deres logik for at sikre korrekte ændringer i XML-metadata.