PyMuPDF
Libreria Python open source per gestire i metadati PDF
Prova PyMuPDF, libreria Python gratuita e open source per accedere e modificare i metadati dei documenti PDF.
Cos'è PyMuPDF?
PyMuPDF, noto anche come Fitz, è una libreria Python open source che offre molte funzionalità come analisi di PDF, divisione e unione di PDF ecc. ma in questa pagina discuteremo solo di come gli sviluppatori Python possono utilizzare la libreria PyMuPDF per gestire attività relative ai metadati PDF come:
- Leggi metadati PDF: PyMuPDF supporta l'accesso ai metadati dei documenti PDF contenenti informazioni come autore, titolo, oggetto e data di creazione, ecc.
- Modifica metadati PDF: la libreria consente anche di modificare i metadati dei documenti PDF.
- Leggi metadati XML: i documenti PDF contengono anche metadati XML che non si limitano alle proprietà standard del documento come autore, titolo ecc. e possono avere metadati aggiuntivi. Con PyMuPDF, anche gli sviluppatori possono leggerlo.
- Modifica metadati XML: gli sviluppatori possono anche modificare i metadati XML dei PDF utilizzando la libreria PyMuPDF.
Iniziare con PyMuPDF
È necessaria la versione 3.8.0 di Python o successiva per installare e utilizzare PyMuPDF. Quindi, installa prima Python e poi usa i comandi seguenti per installare PyMuPDF sul tuo computer usando pip e ambiente virtuale.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Mac OS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
finestre
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Leggi i metadati del PDF
Possiamo leggere i metadati di un PDF utilizzando il membro metadati della libreria PyMuPDF che contiene il contenuto completo dei metadati del documento. Il frammento di codice seguente mostra come ottenere i metadati di un PDF dal membro metadata:
Produzione
Lo screenshot seguente mostra i metadati recuperati da un PDF utilizzando PyMuPDF:
Modifica metadati PDF
Possiamo modificare i metadati dei PDF utilizzando la libreria PyMuPDF passando un dizionario contenente i campi che vogliamo modificare insieme ai loro nuovi valori al metodo set_metadata come mostrato nello snippet di codice seguente:
Leggere i metadati XML dei PDF
Possiamo recuperare i metadati XML di un PDF utilizzando la libreria PyMuPDF. Utilizziamo il metodo get_xml_metadata che restituisce tutti i metadati XML come mostrato nel frammento di codice seguente:
Produzione
Lo screenshot seguente mostra i metadati XML recuperati da un PDF utilizzando PyMuPDF:
Modifica i metadati XML dei PDF
Possiamo impostare o modificare i metadati XML di un PDF utilizzando il metodo set_xml_metadata della libreria PyMuPDF. Non è così semplice come sostituire i metadati a livello di documento perché set_xml_metadata accetterà qualsiasi stringa e sostituirà i metadati XML completi con la stringa passata ad esso.
Per evitare la cancellazione involontaria di qualsiasi informazione sui metadati, prima recuperiamo i metadati XML completi come stringa utilizzando get_xml_metadata e quindi utilizziamo il metodo replace della stringa da sostituire infine, dopo aver ottenuto le informazioni desiderate, passiamo l'XML completo con i campi modificati al metodo set_xml_metadata che modifica tutti i metadati XML del PDF. Controlla lo snippet di codice qui sotto per i dettagli:
Conclusione
In sintesi, PyMuPDF è un ottimo strumento per attività legate alla manipolazione dei metadati. Possiamo facilmente recuperare e modificare le informazioni sui metadati dei PDF. Tuttavia, una notevole debolezza risiede nel metodo set_xml_metadata. Questo metodo accetta qualsiasi stringa che gli viene passata e sovrascrive con essa l'XML precedente, il che potrebbe causare una perdita involontaria di informazioni. Per evitare questo problema, gli sviluppatori sono tenuti a implementare la loro logica per garantire modifiche corrette nei metadati XML.