PyMuPDF
Biblioteca Python de código abierto para administrar metadatos PDF
Pruebe PyMuPDF, la biblioteca Python gratuita y de código abierto para acceder y modificar metadatos de documentos PDF.
¿Qué es PyMuPDF?
PyMuPDF, también conocida como Fitz, es una biblioteca Python de código abierto que ofrece muchas funciones como análisis de archivos PDF, dividir y fusionar archivos PDF, etc., pero en esta página solo discutiremos cómo los desarrolladores de Python pueden usar la biblioteca PyMuPDF para manejar tareas relacionadas con metadatos PDF, como:
- Leer metadatos de PDF: PyMuPDF admite el acceso a metadatos de documentos PDF que contienen información como autor, título, tema y fecha de creación, etc.
- Modificar metadatos de PDF: La biblioteca también permite modificar metadatos de documentos PDF.
- Leer metadatos XML: los documentos PDF también contienen metadatos XML que no se limitan a las propiedades estándar del documento como autor, título, etc. y pueden tener metadatos adicionales. Con PyMuPDF, los desarrolladores también pueden leerlo.
- Cambiar metadatos XML: los desarrolladores también pueden cambiar los metadatos XML de archivos PDF utilizando la biblioteca PyMuPDF.
Primeros pasos con PyMuPDF
Necesita la versión 3.8.0 o superior de Python para instalar y utilizar PyMuPDF. Entonces, primero instale Python y luego use los siguientes comandos para instalar PyMuPDF en su máquina usando pip y entorno virtual.
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
ventanas
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Leer metadatos PDF
Podemos leer metadatos de un PDF utilizando el miembro metadata de la biblioteca PyMuPDF que contiene el contenido completo de metadatos del documento. El siguiente fragmento de código muestra cómo obtener los metadatos de un PDF del miembro metadata:
Producción
La siguiente captura de pantalla muestra los metadatos recuperados de un PDF usando PyMuPDF:
Editar metadatos PDF
Podemos editar los metadatos de los archivos PDF usando la biblioteca PyMuPDF pasando un diccionario que contiene los campos que queremos cambiar junto con sus nuevos valores al método set_metadata como se muestra en el siguiente fragmento de código:
Leer metadatos XML de archivos PDF
Podemos recuperar metadatos XML de un PDF usando la biblioteca PyMuPDF. Usamos el método get_xml_metadata que devuelve los metadatos XML completos como se muestra en el siguiente fragmento de código:
Producción
La siguiente captura de pantalla muestra los metadatos XML recuperados de un PDF usando PyMuPDF:
Cambiar metadatos XML de archivos PDF
Podemos configurar o cambiar los metadatos XML de un PDF usando el método set_xml_metadata de la biblioteca PyMuPDF. No es tan sencillo como reemplazar los metadatos a nivel de documento porque set_xml_metadata aceptará cualquier cadena y reemplazará los metadatos XML completos con la cadena que se le pasa.
Para evitar la eliminación involuntaria de cualquier información de metadatos, primero recuperamos los metadatos XML completos como una cadena usando get_xml_metadata y luego usamos el método replace de cadena para reemplazar. la información deseada finalmente, pasamos el XML completo con los campos modificados al método set_xml_metadata que cambia todos los metadatos XML del PDF. Consulte el siguiente fragmento de código para obtener más detalles:
Conclusión
En resumen, PyMuPDF es una gran herramienta para tareas relacionadas con la manipulación de metadatos. Podemos recuperar y cambiar fácilmente la información de metadatos de los archivos PDF. Sin embargo, una debilidad notable reside en el método set_xml_metadata. Este método acepta cualquier cadena que se le pase y sobrescribe el XML anterior, lo que puede causar una pérdida involuntaria de información. Para evitar este problema, los desarrolladores deben implementar su lógica para garantizar modificaciones correctas en los metadatos XML.