Hur man arbetar med annoteringar i Java

Hur man arbetar med annoteringar i Java

Denna guide visar hur man skapar, räknar, tar bort och plattar till PDF-annotationer med Aspose.PDF FOSS för Java. Du kommer att lära dig att lägga till widget-, fri-text- och markeringsannotationer, samt att använda PdfAnnotationEditor för massoperationer.

Lägg till en widget-annotation

WidgetAnnotation representerar en formulärkontrollwidget. Ställ in kantfärgen och rubriken via AppearanceCharacteristics. Efter att ha konfigurerat annotationen, lägg till den i sidans annotationssamling och spara dokumentet:

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

Lägg till en fri-text-annotation

En FreeTextAnnotation visar en textkommentar på en specifik plats på sidan. Standardutseendet definierar typsnitt, storlek och färg på annotationens text:

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

Lägg till en markeringsannotation

HighlightAnnotation markerar visuellt ett textområde på sidan. Placera den med hjälp av en Rectangle som täcker den text som ska markeras, och lägg sedan till den i annoteringssamlingen:

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

Räkna annoteringar på en sida

Åtkomst till sidans annoteringssamling direkt för att räkna eller iterera annoteringar:

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

Ta bort annoteringar efter typ

Använd PdfAnnotationEditor för att ta bort alla annoteringar av en viss typ från ett dokument. Anropa deleteAnnotations(type) med annoteringstypens namn, och spara sedan:

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

Platta ut annoteringar

Att platta ut annoteringar sammanslår dem permanent med sidans innehåll så att de inte längre är redigerbara eller kan tas bort som separata objekt:

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

Se även

 Svenska