Cara Menambahkan Bentuk Gambar di Java
Panduan ini menunjukkan cara menggambar bentuk geometris dan bekerja dengan dekorasi artefak halaman di Aspose.PDF FOSS untuk Java. Anda akan belajar menambahkan CircleAnnotation untuk menggambar sebuah elips, memeriksa artefak watermark dan header, serta menghapus objek artefak.
Gambar Lingkaran
Tambahkan CircleAnnotation untuk menggambar elips yang terisi atau berbingkai pada sebuah halaman. Metode setColor() mengatur warna isi anotasi. Tambahkan anotasi ke koleksi anotasi halaman dan simpan dokumen:
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");
}Konstruktor Rectangle menerima (x1, y1, x2, y2) dalam satuan PDF (point, diukur dari sudut kiri bawah halaman).
Periksa Artefak Halaman
Artefak adalah dekorasi non-konten seperti header, footer, dan watermark. Iterasi atas artefak yang ada pada sebuah halaman untuk memeriksa tipe dan subtipe mereka:
try (Document doc = new Document("input.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
for (Artifact artifact : page.getArtifacts()) {
System.out.println(artifact.getArtifactType() + ": " + artifact.getSubtype());
}
}Hapus Artefak Watermark
Temukan artefak berjenis “Watermark” dan hapus mereka dari koleksi artefak halaman. Simpan dokumen setelah melakukan perubahan:
try (Document doc = new Document("watermarked.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
for (Artifact artifact : page.getArtifacts()) {
if ("Watermark".equals(artifact.getArtifactType())) {
page.getArtifacts().delete(artifact);
break;
}
}
doc.save("clean.pdf");
}Dapatkan Dimensi Halaman
Untuk memposisikan bentuk dengan benar, pertama dapatkan dimensi media box halaman. A4 standar adalah 595×842 poin; US Letter standar adalah 612×792 poin:
try (Document doc = new Document("input.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
double width = page.getMediaBox().getWidth();
double height = page.getMediaBox().getHeight();
System.out.println("Page: " + width + " x " + height + " pt");
}