
PyMuPDF
Open Source Python Library för att hantera PDF-metadata
Prova PyMuPDF, Free & Open Source Python-biblioteket för att komma åt och ändra metadata för PDF-dokument.
Vad är PyMuPDF?
PyMuPDF, även känd som Fitz, är ett Python-bibliotek med öppen källkod som erbjuder många funktioner som analys av PDF-filer, delning och sammanfogning av PDF-filer etc. men på den här sidan kommer vi bara att diskutera hur Python-utvecklare kan använda PyMuPDF-biblioteket för att hantera PDF metadatarelaterade uppgifter som:
- Läs PDF-metadata: PyMuPDF stöder åtkomst av metadata för PDF-dokument som innehåller information som författare, titel, ämne och datum för skapande etc.
- Ändra PDF-metadata: Biblioteket tillåter även modifiering av metadata för PDF-dokument.
- Läs XML-metadata: PDF-dokument innehåller också XML-metadata som inte är begränsade till standarddokumentegenskaper som författare, titel etc. och kan ha ytterligare metadata. Med PyMuPDF kan utvecklare också läsa den.
- Ändra XML-metadata: Utvecklare kan också ändra XML-metadata för PDF-filer med PyMuPDF-biblioteket.
Komma igång med PyMuPDF
Du behöver Python version 3.8.0 eller senare för att installera och använda PyMuPDF. Så installera först Python och använd sedan nedanstående kommandon för att installera PyMuPDF på din maskin med pip och virtuell miljö a>.
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äsa metadata för en PDF med hjälp av metadata-medlemmen i PyMuPDF-biblioteket som innehåller hela metadatainnehållet i dokumentet. Nedanstående kodavsnitt visar hur man hämtar metadata för en PDF från metadata-medlemmen:
Produktion
Skärmbilden nedan visar den hämtade metadata från en PDF med PyMuPDF:
Redigera PDF-metadata
Vi kan redigera metadata för PDF-filer med PyMuPDF-biblioteket genom att skicka en ordbok som innehåller de fält vi vill ändra tillsammans med deras nya värden till metoden set_metadata som visas i nedanstående kodavsnitt:
Läs XML-metadata för PDF-filer
Vi kan hämta XML-metadata för en PDF med hjälp av PyMuPDF-biblioteket. Vi använder metoden get_xml_metadata som returnerar hela XML-metadata som visas i nedanstående kodavsnitt:
Produktion
Skärmbilden nedan visar XML-metadata som hämtats från en PDF med PyMuPDF:
Ändra XML-metadata för PDF-filer
Vi kan ställa in eller ändra XML-metadata för en PDF-fil med set_xml_metadata-metoden i PyMuPDF-biblioteket. Det är inte lika enkelt som att ersätta metadata på dokumentnivå eftersom set_xml_metadata accepterar vilken sträng som helst och ersätter hela XML-metadata med strängen som skickas till den.
För att undvika oavsiktlig radering av metadatainformation hämtar vi först den fullständiga XML-metadatan som en sträng med get_xml_metadata och använder sedan metoden ersätt för att ersätta den önskade strängen information slutligen skickar vi hela XML-filen med ändrade fält till set_xml_metadata-metoden som ändrar hela XML-metadatan för PDF:en. Kolla kodavsnittet nedan för detaljer:
Slutsats
Sammanfattningsvis är PyMuPDF ett utmärkt verktyg för uppgifter relaterade till metadatamanipulation. Vi kan enkelt hämta och ändra metadatainformationen för PDF-filer. En anmärkningsvärd svaghet ligger dock i metoden set_xml_metadata. Den här metoden accepterar alla strängar som skickas till den och skriver över den tidigare XML-filen med den, vilket kan orsaka oavsiktlig förlust av information för att undvika detta problem. Utvecklare måste implementera sin logik för att säkerställa korrekta ändringar i XML-metadata.