Jak pracować z adnotacjami w Java

Jak pracować z adnotacjami w Java

Ten przewodnik pokazuje, jak tworzyć, liczyć, usuwać i spłaszczać adnotacje PDF przy użyciu Aspose.PDF FOSS dla Java. Nauczysz się dodawać adnotacje typu widget, wolny tekst i podświetlenie oraz używać PdfAnnotationEditor do operacji zbiorczych.

Dodaj adnotację typu widget

WidgetAnnotation reprezentuje kontrolkę formularza typu widget. Ustaw kolor obramowania i podpis za pomocą AppearanceCharacteristics. Po skonfigurowaniu adnotacji, dodaj ją do kolekcji adnotacji strony i zapisz 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");
}

Dodaj adnotację wolny tekst

FreeTextAnnotation wyświetla komentarz tekstowy w określonym miejscu na stronie. Domyślny wygląd określa czcionkę, rozmiar i kolor tekstu adnotacji:

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

Dodaj adnotację podświetlenie

HighlightAnnotation wizualnie oznacza region tekstu na stronie. Umieść go za pomocą Rectangle, który obejmuje tekst do podkreślenia, a następnie dodaj go do kolekcji adnotacji:

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

Policz adnotacje na stronie

Uzyskaj bezpośredni dostęp do kolekcji adnotacji strony, aby policzyć lub iterować adnotacje:

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

Usuń adnotacje według typu

Użyj PdfAnnotationEditor, aby usunąć wszystkie adnotacje określonego typu z dokumentu. Wywołaj deleteAnnotations(type) z nazwą typu adnotacji, a następnie zapisz:

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

Spłaszcz adnotacje

Spłaszczanie adnotacji łączy je trwale z zawartością strony, dzięki czemu nie są już edytowalne ani usuwalne jako oddzielne obiekty:

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

Zobacz także

 Polski