Annotations

Annotations

Deze gids laat zien hoe je PDF-annotaties kunt toevoegen, configureren en verwijderen met behulp van de Annotation klass hiërarchie in Aspose.PDF FOSS voor Java. Je leert widget-, vrije-tekst-, markeer- en cirkelannotaties maken, en ze flatten of verwijderen met PdfAnnotationEditor.

Annotatiehiërarchie

De abstracte Annotation klasse is de basis voor alle PDF-annotaties. Alle annotaties worden gepositioneerd op een Page op een Rectangle en worden toegevoegd via page.getAnnotations().add(annotation).

WidgetAnnotation

WidgetAnnotation vertegenwoordigt een formulierelement. Het uiterlijk wordt gecontroleerd via AppearanceCharacteristics, die setBorder(), setBackground(), setRotate() en setCaption() beschikbaar maakt.

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 toont een tekstballon op een opgegeven locatie. Het accepteert een DefaultAppearance om het lettertype, de grootte en de kleur van de annotatietekst in te stellen.

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[][]) stelt een drie-punts aanroeplijn in voor de annotatie. getIntent() retourneert de FreeTextIntentwaarde van de annotatie.

Markup-annotaties

HighlightAnnotation en UnderlineAnnotation markeren tekstsegmenten met quad-punten. De getQuadPoints()-methode retourneert een array van 8 elementen die de vier hoeken van het gemarkeerde gebied definieert.

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

CircleAnnotation en CaretAnnotation

CircleAnnotation tekent een ellips op de opgegeven rechthoek; CaretAnnotation markeert een invoegpunt in de tekst. Beide breiden Annotation uit en delen dezelfde kleur- en randeigenschappen.

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

Flattenen van annotaties

Gebruik PdfAnnotationEditor.flattenAnnotations() om alle annotaties samen te voegen in de paginacontentstroom, waardoor ze niet bewerkbaar zijn.

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

Annotaties verwijderen op type

Roep deleteAnnotations(type) op met een annotatietypenaam om alle annotaties van dat type van elke pagina in het gekoppelde document te verwijderen:

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

Zie ook

 Nederlands