Cómo agregar anotaciones a un PDF

Cómo agregar anotaciones a un PDF

Agrega anotaciones de texto en un archivo PDF para resumir el contenido escrito en los documentos y anotar los puntos críticos y otros detalles. Sin embargo, puede agregar anotaciones de texto en cualquier lugar del documento y, una vez creado, aparece como una ventana emergente y como un icono cuando se cierra. En esta publicación de blog, aprenderá cómo agregar anotaciones a un archivo PDF usando esta API de Java para PDF. Además, revisará los métodos que lo ayudan a agregar anotaciones de texto en un archivo mediante programación.

Los siguientes puntos serán cubiertos en esta guía:

API de Java para PDF: instalación

El procedimiento de instalación de esta biblioteca está a solo un paso. puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

Cómo agregar anotaciones a un PDF

Ahora, puede aprovechar los métodos de esta biblioteca PDF para implementar la adición de anotaciones de texto a un archivo PDF mediante programación.

Siga el fragmento de código y los pasos que se mencionan a continuación:

  1. Cree una instancia de la clase Document y cargue el archivo PDF de origen.
  2. Obtenga una página por índice invocando el método getItem.
  3. Inicializa un objeto de la clase Rectangle que representa un rectángulo.
  4. Cree una nueva anotación de texto en la página especificada creando un objeto de la clase TextAnnotation.
  5. El método setTitle establece un texto que se mostrará en la barra de título de la anotación.
  6. El método setSubject establece el texto que representa la descripción del objeto.
  7. El método setContents establece el texto de la anotación.
  8. Crea una instancia del constructor del objeto Border con el objeto textAnnotation.
  9. Establezca el ancho del borde y el patrón de guiones llamando a los métodos setWidth y setDash.
  10. Invoque el método add que agrega una anotación a la colección.
  11. El método save guardará el archivo de anotación.

Copie y pegue el siguiente código en su archivo principal:

// Cree una instancia de la clase Document y cargue el archivo PDF de origen.
Document document = new Document(  "table.pdf");
// Obtenga una página por índice invocando el método get_Item 
Page page = document.getPages().get_Item(1);
// Inicializa un objeto de la clase Rectangle que representa un rectángulo.
Rectangle rect = new Rectangle(200, 750, 400, 790);
// Cree una nueva anotación de texto en la página especificada creando un objeto de la clase TextAnnotation. 
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// El método setTitle establece un texto que se mostrará en la barra de título de la anotación. 
textAnnotation.setTitle("Aspose User");
// El método setSubject establece el texto que representa la descripción del objeto. 
textAnnotation.setSubject("Sample Subject");
// El método setContents establece el texto de la anotación. 
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// Cree una instancia del constructor para el objeto de borde con el objeto textAnnotation. 
Border border = new Border(textAnnotation);
// Establezca el ancho del patrón de borde y guión llamando al método setWidth y setDash.  
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// Invoque el método add que agrega anotaciones a la colección. 
page.getAnnotations().add(textAnnotation);
// El método save guardará el archivo de anotaciones. 
document.save(  "sample_textannot.pdf");

Puedes ver la salida en la siguiente imagen:

anotación de texto

Leer anotaciones de texto

Asimismo, podemos leer las anotaciones de texto de un archivo PDF existente siguiendo los pasos que se mencionan a continuación:

  1. Cree una instancia de la clase Document y cargue el archivo PDF de origen.
  2. Llame al método getItem para obtener una página por índice.
  3. Filtre las anotaciones usando AnnotationSelector.
  4. Invoque el método accept para aceptar que el visitante procese la anotación.
  5. Llame al método getSelected para obtener la lista de objetos de anotación seleccionados.
  6. Imprime los resultados.

Copie y pegue el siguiente código en su archivo principal:

// cree una instancia de la clase Document y cargue el archivo PDF de origen. 
Document document = new Document(  "sample_textannot.pdf");
// Llame al método get_Item para obtener una página por índice invocando el   
Page page = document.getPages().get_Item(1);
// Filtrar anotaciones usando AnnotationSelector 
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Invoque el método accept para aceptar que el visitante procese la anotación. 
page.accept(annotationSelector);
//  Llame al método getSelected para obtener la lista de objetos de anotación seleccionados. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// imprimir los resultados
for (Annotation fa : TextAnnotations) {
    System.out.println(fa.getRect());
}

Eliminar anotaciones de texto

Además, puede seguir los pasos y el fragmento de código para eliminar las anotaciones de texto mediante programación:

  1. Cree un objeto de la clase Document y cargue el archivo PDF de origen.
  2. Filtre las anotaciones usando AnnotationSelector.
  3. Acepte que el visitante procese la anotación llamando al método accept.
  4. Llame al método getSelected para obtener la lista de objetos de anotación seleccionados.
  5. Recorra todas las anotaciones de texto y elimine las anotaciones llamando al método delete.
  6. Invoque el método save para guardar el archivo.

Copie y pegue el siguiente código en su archivo principal:

// Cree un objeto de la clase Documento y cargue el archivo PDF de origen. 
Document document = new Document(  "sample_textannot.pdf");
// Filtrar anotaciones usando AnnotationSelector 
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// Acepta que el visitante procese la anotación llamando al método de aceptación 
page.accept(annotationSelector);
// Llame al método getSelected para obtener la lista de objetos de anotación seleccionados. 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// recorrer todas las anotaciones de texto
for (Annotation fa : TextAnnotations) {
    // Eliminar anotación llamando al método de eliminación 
}
// Invocar el método save para guardar el archivo 
document.save ( "sample_textannot_del.pdf");

Obtenga una licencia gratis

Puede aprovechar una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Resumiendo

Esto nos lleva al final de esta publicación de blog. Ha visto cómo agregar anotaciones en un archivo PDF mediante programación. Además, también aprendió a leer y eliminar anotaciones de texto de documentos PDF existentes utilizando esta API de Java para PDF. Además, puede visitar la documentación para una mayor exploración de los métodos API.

Además, le sugerimos que siga nuestra Guía de introducción.

Finalmente, conholdate.com está escribiendo nuevas publicaciones de blog. Por lo tanto, manténgase en contacto para recibir actualizaciones periódicas.

Hacer una pregunta

Puede informarnos acerca de sus preguntas o consultas en nuestro foro.

preguntas frecuentes

¿Puedo anotar un PDF gratis?

Visite este enlace para conocer el fragmento de código y los métodos API expuestos por Java API para PDF.

Ver también