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