Anotar documentos PDF usando Python

Puede anotar cualquier documento PDF mediante programación en la nube usando Python. Puede ser cualquier información adicional sobre un dato existente en forma de imágenes, comentarios, notas u otros tipos de comentarios externos en el documento. En este artículo, aprenderá cómo anotar documentos PDF utilizando una API REST en Python.

En este artículo se tratarán los siguientes temas:

API REST de anotación de documentos y SDK de Python

Para anotar documentos PDF, usaré la API Python SDK de GroupDocs.Annotation Cloud. Permite crear mediante programación herramientas de anotación de documentos en línea. Puede agregar anotaciones, superposiciones de marcas de agua, reemplazos de texto, redacciones y marcas de texto a los documentos comerciales de todos los formatos populares. También proporciona los SDK de .NET, Java, PHP, Ruby y Node.js como sus miembros de la familia de anotaciones de documentos para la API de la nube.

Puede instalar GroupDocs.Annotation Cloud en su proyecto de Python usando el siguiente comando en la consola:

pip install groupdocs_annotation_cloud

Obtenga su ID de cliente y Secreto de cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_annotation_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Anotar documentos PDF utilizando una API REST en Python

Puede agregar anotaciones a sus documentos PDF siguiendo los sencillos pasos que se detallan a continuación:

  1. Subir el archivo PDF a la Nube
  2. Anotar documentos PDF usando Python
  3. Descargar el archivo anotado

Sube el documento

En primer lugar, cargue el archivo PDF en la nube utilizando el siguiente ejemplo de código:

# crear instancia de la api
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# cargar archivo de muestra
request = groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

Como resultado, el archivo PDF cargado estará disponible en la sección de archivos de su tablero en la nube.

Anotar documentos PDF usando Python

Siga los pasos que se mencionan a continuación para agregar múltiples anotaciones al documento PDF mediante programación.

  • Crear una instancia de AnnotateApi
  • Crear la primera instancia de AnnotationInfo
  • Establezca propiedades de anotación para la primera instancia, por ejemplo, posición, tipo, texto, etc.
  • Crear segunda instancia de AnnotationInfo
  • Establezca propiedades de anotación para la segunda instancia, por ejemplo, posición, tipo, texto, etc.
  • Crear tercera instancia de AnnotationInfo
  • Establezca propiedades de anotación para la tercera instancia, por ejemplo, posición, tipo, texto, etc.
  • Cree una instancia de FileInfo y configure la ruta del archivo de entrada
  • Cree una instancia de AnnotateOptions y establezca la información del archivo en AnnotateOptions
  • Asigne las anotaciones primera, segunda y tercera a AnnotateOptions
  • Cree una solicitud llamando al método AnnotateRequest
  • Obtenga resultados llamando al método AnnotateApi.annotate()

El siguiente ejemplo de código muestra cómo anotar un documento PDF y agregar varias anotaciones mediante una API REST.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# anotación de distancia
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 200
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 3
a1.opacity = 1
a1.type = "Distance"
a1.text = "This is anotación de distancia"
a1.creator_name = "Anonym A."

# anotación de área
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 1
a2.annotation_position.y = 1
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 100
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.page_number = 0
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 3
a2.opacity = 1
a2.type = "Area"
a2.text = "This is anotación de área"
a2.creator_name = "Anonym A."

# anotación de flecha
a3 = groupdocs_annotation_cloud.AnnotationInfo()
a3.annotation_position = groupdocs_annotation_cloud.Point()
a3.annotation_position.x = 1
a3.annotation_position.y = 1
a3.box = groupdocs_annotation_cloud.Rectangle()
a3.box.x = 100
a3.box.y = 250
a3.box.width = 100
a3.box.height = 50
a3.page_number = 0
a3.pen_color = 1201033
a3.pen_style = "Solid"
a3.pen_width = 1
a3.opacity = 0.7
a3.type = "Arrow"
a3.text = "This is anotación de flecha"
a3.creator_name = "Anonym A."

# fichero de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opciones de anotación
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2, a3]
options.output_path = "output.pdf"

# crear solicitud de anotación
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddMultipleAnnotations: Multiple Annotations added: " + result['href'])
Agregue varias anotaciones a un documento PDF usando una API REST en Python

Agregue varias anotaciones a un documento PDF usando una API REST en Python

Puede leer más sobre los tipos de anotaciones admitidos en la sección agregar anotaciones en la documentación.

Descargar el archivo anotado

El ejemplo de código anterior guardará el archivo PDF anotado en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

# inicialización de la API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# crear solicitud de descarga
request = groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", my_storage)
response = file_api.download_file(request)

# Mueva el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\")

Agregar anotaciones de campo de texto usando Python

Puede agregar anotaciones de campo de texto en los documentos PDF mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de AnnotateApi
  • Crear una instancia de AnnotationInfo
  • Definir la posición de la anotación
  • Definir la posición, la altura y el ancho del rectángulo
  • Establezca varias propiedades de anotación, por ejemplo, texto, alto, ancho, etc.
  • Establecer el tipo de anotación como TextField
  • Cree una instancia de FileInfo y configure la ruta del archivo de entrada
  • Cree una instancia de AnnotateOptions y establezca la información del archivo en AnnotateOptions
  • Asignar anotación a AnnotateOptions
  • Cree una solicitud llamando al método AnnotateRequest
  • Obtenga resultados llamando al método AnnotateApi.annotate()

El siguiente ejemplo de código muestra cómo agregar anotaciones de campo de texto en el documento PDF mediante una API REST. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# proporcionar información de anotación
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 380
a1.box.y = 300
a1.box.width = 100
a1.box.height = 50
a1.page_number = 0
a1.font_color = 1201033
a1.font_size = 12
a1.opacity = 0.7
a1.type = "TextField"           
a1.text = "Text field text"
a1.creator_name = "Anonym A."

# ruta del archivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opciones de anotación
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# crear solicitud de anotación
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddTextFieldAnnotation: Text Field Annotation added: " + result['href'])
Agregar anotaciones de campo de texto usando Python

Agregar anotaciones de campo de texto usando Python

Agregar anotaciones de imagen usando Python

Puede agregar anotaciones de imágenes en sus documentos PDF mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de AnnotateApi
  • Crear una instancia de AnnotationInfo
  • Definir Rectángulo y establecer su posición, alto y ancho
  • Establezca varias propiedades de anotación, por ejemplo, posición, texto, alto, ancho, etc.
  • Establecer el tipo de anotación como Imagen
  • Cree una instancia de FileInfo y configure la ruta del archivo de entrada
  • Cree una instancia de AnnotateOptions y establezca la información del archivo en AnnotateOptions
  • Asignar anotación a AnnotateOptions
  • Cree una solicitud llamando al método AnnotateRequest
  • Obtenga resultados llamando al método AnnotateApi.annotate()

El siguiente ejemplo de código muestra cómo agregar anotaciones de imagen en el documento PDF mediante una API REST. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# definir anotación
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 300
a1.box.y = 300
a1.box.width = 200
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7
a1.type = "Image"
a1.text = "This is Image annotation"
a1.creator_name = "Anonym A."
a1.image_path = "JohnSmith.png"

# ruta del archivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir anotación options
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output_img.pdf"

# crear solicitud de anotación
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddImageAnnotation: Image Annotation added: " + result['href'])
Agregar anotaciones de imagen usando Python

Agregar anotaciones de imagen usando Python

Puede agregar anotaciones de hipervínculo en los documentos PDF mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de AnnotateApi
  • Crear una instancia de AnnotationInfo
  • Definir puntos de anotación y establecer la posición de cada punto
  • Establezca varias propiedades de anotación, por ejemplo, texto, alto, ancho, etc.
  • Establecer el tipo de anotación como Enlace
  • Cree una instancia de FileInfo y configure la ruta del archivo de entrada
  • Cree una instancia de AnnotateOptions y establezca la información del archivo en AnnotateOptions
  • Asignar anotación a AnnotateOptions
  • Cree una solicitud llamando al método AnnotateRequest
  • Obtenga resultados llamando al método AnnotateApi.annotate()

El siguiente ejemplo de código muestra cómo agregar anotaciones de hipervínculo en el documento PDF mediante una API REST. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# proporcionar información de anotación
a1 = groupdocs_annotation_cloud.AnnotationInfo()
p1 = groupdocs_annotation_cloud.Point()
p1.x = 80
p1.y = 710
p2 = groupdocs_annotation_cloud.Point()
p2.x = 240
p2.y = 710
p3 = groupdocs_annotation_cloud.Point()
p3.x = 80
p3.y = 650
p4 = groupdocs_annotation_cloud.Point()
p4.x = 240
p4.y = 650
a1.points = [p1, p2, p3, p4]
a1.page_number = 0
a1.type = "Link"
a1.text = "This is Link annotation"
a1.creator_name = "Anonym A."
a1.url = "https://www.groupdocs.com/"

# ruta del archivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opciones de anotación
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# crear solicitud de anotación
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddLinkAnnotation: Link Annotation added: " + result['href'])
Anotar con anotaciones de enlace usando Python

Anotar con anotaciones de enlace usando Python

Prueba en línea

Pruebe la siguiente herramienta gratuita de anotación de PDF en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/annotation/pdf

Conclusión

En este artículo, aprendió cómo agregar varios tipos de anotaciones a documentos PDF en la nube. Además, aprendió cómo cargar el archivo PDF en la nube mediante programación y luego descargar el archivo anotado de la nube. Puede obtener más información sobre GroupDocs.Annotation Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también