PyMuPDF
Bibliothèque Python Open Source pour gérer les métadonnées PDF
Essayez PyMuPDF, bibliothèque Python gratuite et open source pour accéder et modifier les métadonnées des documents PDF.
Qu'est-ce que PyMuPDF ?
PyMuPDF, également connu sous le nom de Fitz, est une bibliothèque Python open source qui offre de nombreuses fonctionnalités telles que l'analyse de PDF, fractionnement et fusion de PDF, etc. mais dans cette page, nous discuterons uniquement de la manière dont les développeurs Python peuvent utiliser la bibliothèque PyMuPDF pour gérer les tâches liées aux métadonnées PDF telles que :
- Lire les métadonnées PDF : PyMuPDF prend en charge l'accès aux métadonnées des documents PDF contenant des informations telles que l'auteur, le titre, le sujet et la date de création, etc.
- Modifier les métadonnées PDF : La bibliothèque permet également de modifier les métadonnées des documents PDF.
- Lire les métadonnées XML : les documents PDF contiennent également des métadonnées XML qui ne se limitent pas aux propriétés standard du document comme l'auteur, le titre, etc. et peuvent contenir des métadonnées supplémentaires. Avec PyMuPDF, les développeurs peuvent également les lire.
- Modifier les métadonnées XML : les développeurs peuvent également modifier les métadonnées XML des PDF à l'aide de la bibliothèque PyMuPDF.
Premiers pas avec PyMuPDF
Vous avez besoin de la version 3.8.0 ou supérieure de Python pour installer et utiliser PyMuPDF. Commencez donc par installer Python, puis utilisez les commandes ci-dessous pour installer PyMuPDF sur votre machine à l'aide de pip et de l'environnement virtuel.
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
Fenêtres
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Lire les métadonnées PDF
Nous pouvons lire les métadonnées d'un PDF à l'aide du membre metadata de la bibliothèque PyMuPDF qui contient le contenu complet des métadonnées du document. L'extrait de code ci-dessous montre comment obtenir les métadonnées d'un PDF à partir du membre metadata :
Sortir
La capture d'écran ci-dessous montre les métadonnées récupérées à partir d'un PDF à l'aide de PyMuPDF :
Modifier les métadonnées PDF
Nous pouvons modifier les métadonnées des PDF à l'aide de la bibliothèque PyMuPDF en transmettant un dictionnaire contenant les champs que nous souhaitons modifier ainsi que leurs nouvelles valeurs à la méthode set_metadata comme indiqué dans l'extrait de code ci-dessous :
Lire les métadonnées XML des PDF
Nous pouvons récupérer les métadonnées XML d'un PDF à l'aide de la bibliothèque PyMuPDF. Nous utilisons la méthode get_xml_metadata qui renvoie l'intégralité des métadonnées XML comme indiqué dans l'extrait de code ci-dessous :
Sortir
La capture d'écran ci-dessous montre les métadonnées XML récupérées à partir d'un PDF à l'aide de PyMuPDF :
Modifier les métadonnées XML des PDF
Nous pouvons définir ou modifier les métadonnées XML d'un PDF à l'aide de la méthode set_xml_metadata de la bibliothèque PyMuPDF. Ce n'est pas aussi simple que de remplacer les métadonnées au niveau du document, car la méthode set_xml_metadata accepte n'importe quelle chaîne et remplace les métadonnées XML complètes par la chaîne qui lui est transmise.
Afin d'éviter la suppression involontaire de toute information de métadonnées, nous récupérons d'abord les métadonnées XML complètes sous forme de chaîne à l'aide de la méthode get_xml_metadata, puis nous utilisons la méthode replace de la chaîne pour remplacer les informations souhaitées. Enfin, nous transmettons le XML complet avec les champs modifiés à la méthode set_xml_metadata qui modifie l'intégralité des métadonnées XML du PDF. Consultez l'extrait de code ci-dessous pour plus de détails :
Conclusion
En résumé, PyMuPDF est un excellent outil pour les tâches liées à la manipulation des métadonnées. Nous pouvons facilement récupérer et modifier les informations de métadonnées des PDF. Cependant, une faiblesse notable réside dans la méthode set_xml_metadata. Cette méthode accepte toute chaîne qui lui est transmise et écrase le XML précédent avec elle, ce qui peut entraîner une perte involontaire d'informations. Pour éviter ce problème, les développeurs sont tenus d'implémenter leur logique pour garantir des modifications correctes dans les métadonnées XML.