Annotations

Panduan ini menunjukkan cara menambahkan, mengkonfigurasi, dan menghapus anotasi PDF menggunakan Annotation hierarki kelas di Aspose.PDF FOSS untuk Java. Anda akan belajar untuk membuat widget, teks bebas, sorotan dan annotasi lingkaran, dan untuk meratakan atau hapus mereka menggunakan PdfAnnotationEditor.

Hierarki Anotasi

Abstrak Annotation class adalah dasar untuk semua anotasi PDF. Semua anotation ditempatkan pada Page pada a Rectangle dan ditambahkan melalui: page.getAnnotations().add(annotation).

WidgetAnnotation

WidgetAnnotation mewakili widget formulir. Penampilan dikendalikan melalui AppearanceCharacteristics, yang mengungkapkan setBorder(), setBackground(), setRotate(), dan setCaption().

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 menampilkan panggilan teks di lokasi yang ditentukan. Ini menerima sebuah DefaultAppearance untuk mengatur font, ukuran dan warna teks anotasi.

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[][]) menetapkan garis panggilan tiga titik untuk annotasi. getIntent() mengembalikan catatan FreeTextIntent nilai.

Anotasi Markup

HighlightAnnotation dan (b) UnderlineAnnotation menandai teks dengan titik quad. Pengelolaan getQuadPoints() metode mengembalikan 8-elemen array mendefinisikan empat sudut dari wilayah yang ditandai.

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 dan CaretAnnottation

CircleAnnotation menggambar elips pada persegi panjang yang diberikan; CaretAnnotation tanda-tanda kedua memperpanjang Annotation dan berbagi warna yang sama dan properti perbatasan.

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

Anotasi yang Menelanjangkan

Penggunaan PdfAnnotationEditor.flattenAnnotations() untuk menggabungkan semua catatan ke dalam konten halaman mengalir, membuat mereka tidak dapat diedit.

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

Menghapus Anotasi menurut Jenis

Call deleteAnnotations(type) dengan nama jenis anotasi untuk menghapus semua anotation dari jenis itu dari setiap halaman dalam dokumen terikat:

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

See Also

 Bahasa Indonesia