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'analyser des PDF, l'fractionner et fusionner des PDF etc. mais dans cette page, nous discuterons uniquement de la façon 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 telles que l'auteur, le titre, etc. et peuvent avoir des métadonnées supplémentaires. Avec PyMuPDF, les développeurs peuvent également le 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 Python version 3.8.0 ou supérieure pour installer et utiliser PyMuPDF. Alors, installez d'abord Python, puis utilisez les commandes ci-dessous pour installer PyMuPDF sur votre machine en utilisant pip et environnement virtuel.
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
les 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 en utilisant le membre métadonnées 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 métadonnées :
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 en utilisant 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 en utilisant 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 set_xml_metadata acceptera n'importe quelle chaîne et remplacera 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 get_xml_metadata, puis utilisons la méthode replace de chaîne pour remplacer Enfin, nous transmettons les informations souhaitées, 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, 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.