Biblioteca de anotaciones PDF de Python de código abierto
Pruebe esta biblioteca Python gratuita y de código abierto para agregar y extraer anotaciones de documentos PDF.
¿Qué es pypdf?
Pypdf es una biblioteca de Python gratuita y de código abierto conocida por su variado conjunto de funciones para manejar documentos PDF en el entorno de Python. Esta herramienta resulta útil para diversas manipulaciones de PDF, pero en esta reseña nos centraremos en sus funciones relacionadas con las anotaciones.
Las características notables de pypdf relacionadas con las anotaciones incluyen:
- Agregar anotaciones de formas: podemos dibujar formas como líneas, rectángulos, elipses y polígonos, etc. en áreas específicas de páginas PDF como anotaciones.
- Agregar anotaciones de texto: Podemos agregar anotaciones de texto en posiciones específicas de páginas PDF.
- Agregar anotaciones de enlaces: también es posible agregar anotaciones de enlaces (como un hipervínculo) a documentos PDF.
- Extracción de anotaciones: podemos iterar y extraer información sobre todas las anotaciones en un documento PDF utilizando la biblioteca pypdf.
Introducción a PyPDF
Necesita la versión 3.6.0 o superior de Python para instalar y usar pypdf. Por lo tanto, primero instale Python y luego use los siguientes comandos para instalar pypdf en su máquina usando pip y virtual environment.
Linux
python3 -m venv venv
source venv/bin/activate
pip install pypdf
Sistema operativo Mac
python -m venv venv
source venv/bin/activate
pip install pypdf
Ventanas
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
Agregar anotación de rectángulo a PDF
Podemos agregar anotaciones rectangulares a los documentos PDF utilizando la biblioteca pypdf. Usaremos la clase Rectangle del módulo pypdf.annotations de la biblioteca pypdf para definir el rectángulo. Luego, usaremos el método add_annotations de la clase PDFWriter para agregar la anotación rectangular al PDF.
Consulte el fragmento de código a continuación para obtener más detalles:
Producción
En la siguiente captura de pantalla, puede ver que se agrega un rectángulo para anotar la palabra Código abierto:
Agregar anotación de texto a PDF
Creamos anotaciones de texto utilizando la clase Text del módulo pypdf.annotations de la biblioteca pypdf. Después, podemos utilizar el método add_annotations de la clase PDFWriter de la biblioteca pypdf para agregar anotaciones al PDF. La anotación de texto se agrega como un ícono que se expande y muestra el texto cuando se hace clic en el ícono. Consulte el siguiente fragmento de código para obtener más detalles:
Producción
Como podemos ver en la siguiente captura de pantalla, el código anterior agrega un ícono al PDF en la posición especificada que muestra una anotación de texto cuando se hace clic en el ícono:
Agregar anotación de enlace a PDF
Las anotaciones de enlaces se crean utilizando la clase Link del módulo pypdf.annotations. Sin embargo, el problema con la anotación de enlaces es que solo agrega el enlace, pero no es visible. Para solucionar este problema, incorporaremos un rectángulo utilizando la clase Rectangle del módulo pypdf.annotations como explicamos anteriormente. De esta manera, el usuario puede identificar visualmente la ubicación donde se agrega la anotación de enlaces. Consulte el siguiente fragmento de código para comprender mejor:
Producción
Como podemos ver en la salida, el rectángulo sirve como un área que, al hacer clic, redirige al usuario al enlace especificado.
Extraer anotaciones de un PDF
Podemos extraer anotaciones de un PDF utilizando la biblioteca pypdf. Recorremos todas las anotaciones de las páginas PDF y luego utilizamos el método get_object para obtener el objeto de anotación. Luego extraemos información relevante del objeto. Consulte el siguiente fragmento de código para obtener más detalles:
Producción
Como podemos ver en la siguiente captura de pantalla, el programa ha devuelto el tipo de anotación y las coordenadas de las anotaciones en el documento PDF:
Conclusión
Pypdf permite a los desarrolladores de Python agregar diferentes tipos de anotaciones a los archivos PDF y acceder a información esencial sobre las anotaciones, como su tipo y ubicación, lo que lo convierte en una opción práctica para tareas que requieren agregar anotaciones y extraer datos sobre anotaciones.