PyMuPDF
Open Source Python Library pro správu PDF metadat
Vyzkoušejte PyMuPDF, Free & Open Source Python knihovnu pro přístup a úpravu metadat dokumentů PDF.
Co je PyMuPDF?
PyMuPDF, také známý jako Fitz, je open source knihovna Pythonu, která nabízí mnoho funkcí, jako je analýza PDF, rozdělování a slučování PDF atd., ale na této stránce budeme diskutovat pouze o tom, jak mohou vývojáři Pythonu používat knihovnu PyMuPDF ke zpracování úloh souvisejících s metadaty PDF, jako jsou:
- Čtení metadat PDF: PyMuPDF podporuje přístup k metadatům dokumentů PDF obsahujících informace, jako je autor, název, předmět a datum vytvoření atd.
- Upravit metadata PDF: Knihovna také umožňuje upravovat metadata dokumentů PDF.
- Čtení metadat XML: Dokumenty PDF také obsahují metadata XML, která se neomezují na standardní vlastnosti dokumentu, jako je autor, název atd., a mohou mít další metadata. S PyMuPDF si jej mohou přečíst i vývojáři.
- Změna XML metadat: Vývojáři mohou také měnit XML metadata souborů PDF pomocí knihovny PyMuPDF.
Začínáme s PyMuPDF
K instalaci a používání PyMuPDF potřebujete Python verze 3.8.0 nebo vyšší. Nejprve tedy nainstalujte Python a poté pomocí níže uvedených příkazů nainstalujte PyMuPDF na váš počítač pomocí pip a virtuální prostředí.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Operační Systém Mac
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Okna
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Přečtěte si metadata PDF
Metadata PDF můžeme číst pomocí člena metadata knihovny PyMuPDF, který obsahuje kompletní metadatový obsah dokumentu. Níže uvedený fragment kódu ukazuje, jak získat metadata souboru PDF od člena metadata:
Výstup
Níže uvedený snímek obrazovky ukazuje načtená metadata z PDF pomocí PyMuPDF:
Upravit metadata PDF
Metadata souborů PDF můžeme upravit pomocí knihovny PyMuPDF tak, že předáme slovník obsahující pole, která chceme změnit, spolu s jejich novými hodnotami metodě set_metadata, jak je znázorněno na níže uvedeném úryvku kódu:
Čtení metadat XML souborů PDF
Můžeme načíst XML metadata PDF pomocí knihovny PyMuPDF. Používáme metodu get_xml_metadata, která vrací celá metadata XML, jak je znázorněno na níže uvedeném úryvku kódu:
Výstup
Níže uvedený snímek obrazovky ukazuje metadata XML získaná z PDF pomocí PyMuPDF:
Změna metadat XML souborů PDF
Metadata XML můžeme nastavit nebo změnit pomocí metody set_xml_metadata knihovny PyMuPDF. Není to tak jednoduché jako nahrazení metadat na úrovni dokumentu, protože set_xml_metadata přijme jakýkoli řetězec a nahradí kompletní metadata XML řetězcem, který mu byl předán.
Abychom se vyhnuli neúmyslnému smazání jakýchkoli metadatových informací, nejprve načteme úplná metadata XML jako řetězec pomocí get_xml_metadata a poté pomocí metody nahradit řetězec nahradíme požadovaný informace nakonec předáme kompletní XML se změněnými poli metodě set_xml_metadata, která změní celá XML metadata PDF. Podrobnosti naleznete ve fragmentu kódu níže:
Závěr
Stručně řečeno, PyMuPDF je skvělý nástroj pro úkoly související s manipulací s metadaty. Můžeme snadno načíst a změnit informace o metadatech PDF. Pozoruhodná slabina však spočívá v metodě set_xml_metadata. Tato metoda přijímá jakýkoli řetězec, který jí byl předán, a přepisuje jím předchozí XML, což může způsobit neúmyslnou ztrátu informací, aby se tomuto problému předešlo, vývojáři musí implementovat svou logiku, aby zajistili správné úpravy v metadatech XML.