Hoe te werken met annotaties in Java
Deze gids laat zien hoe je PDF-annotaties kunt maken, tellen, verwijderen en flatten met Aspose.PDF FOSS voor Java. Je leert widget-, vrije-tekst- en markeerannotaties toe te voegen, en PdfAnnotationEditor te gebruiken voor bulkbewerkingen.
Voeg een widget-annotatie toe
WidgetAnnotation vertegenwoordigt een formulierbesturingselement-widget. Stel de randkleur en bijschrift in via AppearanceCharacteristics. Na het configureren van de annotatie, voeg je deze toe aan de annotatiecollectie van de pagina en sla je het document op:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(50, 50, 150, 80));
w.getCharacteristics().setBorder(Color.fromRgb(0, 0, 1));
w.getCharacteristics().setCaption("Submit");
page.getAnnotations().add(w);
doc.save("widget.pdf");
}Voeg een vrije-tekst-annotatie toe
Een FreeTextAnnotation toont een tekstcommentaar op een specifieke locatie op de pagina. Het standaard uiterlijk definieert het lettertype, de grootte en de kleur van de annotatietekst:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
DefaultAppearance da = new DefaultAppearance("Helv", 12, Color.BLACK);
FreeTextAnnotation fta = new FreeTextAnnotation(page,
new Rectangle(100, 300, 350, 350), da);
fta.setContents("Review this section carefully.");
page.getAnnotations().add(fta);
doc.save("freetext.pdf");
}Voeg een markeerannotatie toe
HighlightAnnotation markeert visueel een tekstgebied op de pagina. Plaats het met behulp van een Rectangle die de te markeren tekst bedekt, en voeg het vervolgens toe aan de annotatiecollectie:
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, 400, 220));
page.getAnnotations().add(h);
doc.save("highlighted.pdf");
}Aantal annotaties op een pagina
Toegang tot de annotatiecollectie van de pagina rechtstreeks om annotaties te tellen of te itereren:
try (Document doc = new Document("input.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
int count = page.getAnnotations().size();
System.out.println("Annotations on page 1: " + count);
}Annotaties verwijderen op type
Gebruik PdfAnnotationEditor om alle annotaties van een specifiek type uit een document te verwijderen. Roep deleteAnnotations(type) aan met de naam van het annotatietype, en sla vervolgens op:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("input.pdf");
editor.deleteAnnotations("Highlight");
editor.save("output.pdf");
}Annotaties flatten
Het flatten van annotaties voegt ze permanent samen met de pagina-inhoud, zodat ze niet langer bewerkbaar of verwijderbaar zijn als afzonderlijke objecten:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}