Anotativas

Este guia mostra como adicionar, configurar e remover anotações PDF usando o Annotation hierarquia de classes em Aspose.PDF FOSS para Java . Você vai aprender a criar widget, texto livre, destaque e anotações de círculo, e para achatar ou Apagar usando: PdfAnnotationEditor.

Hierarquia de anotações

O resumo Annotation classe é a base para todas as anotações PDF. Todas as Anotação são posicionados numa posição de Page em um Rectangle e são adicionados através de: page.getAnnotations().add(annotation).

WidgetAnnotation

WidgetAnnotation representa um widget de formulário. A aparência é controlada através do AppearanceCharacteristics, que expõe a setBorder(), setBackground(), setRotate(), e 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 exibindo uma chamada de texto num local especificado. Aceita um DefaultAppearance para definir a fonte, o tamanho e a cor do texto de anotação.

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[][]) Estabelece uma linha de chamada com três pontos para a anotação. getIntent() retorna a anotação de FreeTextIntent valor.

Anotativas de marcação

HighlightAnnotation e a) UnderlineAnnotation Marcar espaços de texto com pontos quadrados. A Comissão getQuadPoints() método retorna uma matriz de 8 elementos definindo os quatro cantos da região 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");
}

Anotativa de círculo e anotativo de cuidado

CircleAnnotation desenhar uma elipse no retângulo dado; CaretAnnotation marcas de identificação O texto é um ponto de inserção. Annotation e compartilham a mesma cor. propriedades fronteiriças.

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");
}

Anotativas de aplanamento

Utilização: PdfAnnotationEditor.flattenAnnotations() para fundir todas as anotações no fluxo de conteúdo da página, tornando-os não editáveis.

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

Remover anotações por tipo de texto

Chama-me . deleteAnnotations(type) com um nome de tipo de anotação para remover todas as anodações. do mesmo tipo, de cada página do documento vinculado:

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

Ver também:

 Português