Arbeiten mit Anmerkungen in Java
Dieses Handbuch zeigt, wie man PDF-Anmerkungen mit Aspose.PDF FOSS für Java erstellt, zählt, entfernt und flacht. Sie lernen, Widget-, Freitext- und Highlight-Anmerkungen hinzuzufügen und PdfAnnotationEditor für Massenoperationen zu verwenden.
Widget-Anmerkung hinzufügen
WidgetAnnotation stellt ein Formularsteuerelement-Widget dar. Setzen Sie die Randfarbe und die Beschriftung über AppearanceCharacteristics. Nach der Konfiguration der Anmerkung fügen Sie sie der Anmerkungssammlung der Seite hinzu und speichern das Dokument:
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");
}Freitext-Anmerkung hinzufügen
Ein FreeTextAnnotation zeigt einen Textkommentar an einer bestimmten Position auf der Seite an. Das Standardaussehen definiert die Schriftart, Größe und Farbe des Anmerkungstextes:
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");
}Highlight-Anmerkung hinzufügen
HighlightAnnotation markiert einen Textbereich auf der Seite visuell. Positionieren Sie es mit einem Rectangle, das den zu hervorhebenden Text abdeckt, und fügen Sie es dann der annotation collection hinzu:
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");
}Anmerkungen auf einer Seite zählen
Greifen Sie direkt auf die annotation collection der Seite zu, um Annotationen zu zählen oder zu iterieren:
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);
}Annotationen nach Typ entfernen
Verwenden Sie PdfAnnotationEditor, um alle Annotationen eines bestimmten Typs aus einem Dokument zu entfernen. Rufen Sie deleteAnnotations(type) mit dem Namen des Annotationstyps auf und speichern Sie anschließend:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("input.pdf");
editor.deleteAnnotations("Highlight");
editor.save("output.pdf");
}Annotationen flachlegen
Das Flachlegen von Annotationen fügt sie dauerhaft in den Seiteninhalt ein, sodass sie nicht mehr als separate Objekte bearbeitbar oder entfernbar sind:
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
editor.flattenAnnotations();
editor.save("flat.pdf");
}