PyMuPDF

 
 

Biblioteca Python de código abierto para gestionar metadatos PDF

Pruebe PyMuPDF, una biblioteca de 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 de Python de código abierto que ofrece muchas funciones como analizar 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 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 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., sino que pueden tener metadatos adicionales. Con PyMuPDF, los desarrolladores también pueden leerlos.
  • Cambiar metadatos XML: Los desarrolladores también pueden cambiar los metadatos XML de los archivos PDF utilizando la biblioteca PyMuPDF.
GitHub

Estadísticas de GitHub

Nombre:
Idioma:
Estrellas:
Tenedores:
Licencia:
El repositorio se actualizó por última vez en

Introducción a PyMuPDF

Necesita la versión 3.8.0 o superior de Python para instalar y usar PyMuPDF. Por lo tanto, primero instale Python y luego use los siguientes comandos para instalar PyMuPDF en su máquina usando pip y virtual environment.

Linux


python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf

Sistema operativo Mac


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 del PDF

Podemos leer los 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 a partir del miembro metadata:

Producción

La siguiente captura de pantalla muestra los metadatos recuperados de un PDF usando PyMuPDF:

Editar metadatos de PDF

Podemos editar los metadatos de los PDF usando la biblioteca PyMuPDF pasando un diccionario que contenga 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 utilizando la biblioteca PyMuPDF. Utilizamos el método get_xml_metadata que devuelve todos los metadatos XML 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 utilizando 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 obtenemos los metadatos XML completos como una cadena utilizando el método get_xml_metadata y luego utilizamos 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 radica en el método set_xml_metadata. Este método acepta cualquier cadena que se le pase y sobrescribe el XML anterior con ella, lo que puede provocar 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.

Productos Similares

 Español