Anotaciones

Este guía muestra cómo agregar, configurar y eliminar las anotaciones PDF utilizando el Annotation la hierarquía de clases en Aspose.PDF FOSS para Java. Crear widget, texto libre, nota de alto y anotaciones circulares, y para flaten o Eliminarlos utilizando PdfAnnotationEditor.

Anotación Hierarquía

El abstracto Annotation clase es la base para todas las anotaciones PDF. Todas las Se posicionan en una Page En el A Rectangle Se añaden a través de page.getAnnotations().add(annotation).

WidgetAnnotation

WidgetAnnotation es un widget de forma. la aparición se controla a través del AppearanceCharacteristics,que exponen setBorder(), setBackground(), setRotate(),y, setCaption().

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("annotated.pdf");
}

FreeTextAnnotation

FreeTextAnnotation muestra un llamado de texto en una ubicación especificada. acepta un DefaultAppearance para definir la letra, tamaño y color del texto de anotación.

DefaultAppearance da = new DefaultAppearance("Helv", 12, Color.BLACK);
FreeTextAnnotation fta = new FreeTextAnnotation(page,
    new Rectangle(50, 50, 200, 100), da);
fta.setContents("Review comment here");
page.getAnnotations().add(fta);

setCallout(double[][]) Establece una línea de callout de tres puntos para la anotación. getIntent() devolver la anotación FreeTextIntent Valor de valor.

Marcaciones Anotaciones

HighlightAnnotation y UnderlineAnnotation Toma el texto con puntos cuadros. El getQuadPoints() El método devolve una array de 8 elementos que define los cuatro rincones. de la región marcada.

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    HighlightAnnotation h = new HighlightAnnotation(page,
        new Rectangle(100, 200, 300, 220));
    page.getAnnotations().add(h);
    doc.save("highlighted.pdf");
}

CircleAnotación y CaretAnotamiento

CircleAnnotation - Eliminar el elípsis en la rectangular; CaretAnnotation Marques Un punto de inserción en el texto. ambos extendidos Annotation y comparte el mismo color y Propiedades fronterizas.

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    CircleAnnotation circle = new CircleAnnotation(page, new Rectangle(100, 100, 200, 200));
    circle.setColor(Color.fromRgb(0, 0, 1));
    page.getAnnotations().add(circle);
    doc.save("circle.pdf");
}

Anotaciones de Flattening

Uso PdfAnnotationEditor.flattenAnnotations() para que todas las anotaciones se incorporen a la El contenido de la página fluye, lo que los hace no editables.

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

Eliminar las anotaciones por tipo

llamadas deleteAnnotations(type) con un nombre de tipo de anotación para eliminar todas las anotadas de este tipo desde cada página en el documento vinculado:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteAnnotations("Highlight");
    editor.save("output.pdf");
}

Ver también

 Español