Java'da Çizim Şekilleri Nasıl Eklenir
Bu rehber geometrik şekiller çizmek ve sayfa yapay dekorasyonlarla çalışmak için nasıl gösterir Java için FOSS. size bir ekleme öğreneceksiniz CircleAnnotation Bir çekmek için Ellipse, su işareti ve başlık eserleri incelemek ve eser nesneleri kaldırmak.
Bir Çember Yapın
A eklemek CircleAnnotation Bir sayfada doldurulmuş veya sınırlı bir elips çeker. setColor() Metoda notu renk doldurmaya ayarlar. sayfa notunu ekleyin Notları toplamak ve belgeyi kaydetmek:
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");
}O zamanlar Rectangle Yapımcılar İhtiyaç (x1, y1, x2, y2) PDF birimlerinde ( Noktalar, ölçülenler) sayfanın sol alt köşesinden).
Sayfa Arşivleri Kontrolü
Yapıları, başlıklar, ayaklar ve su işaretleri gibi içerik dışı dekorasyonlardır. türlerini ve alt türünü kontrol etmek için bir sayfada mevcut yapılar üzerinde yatar:
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());
}
}Bir Watermark Artifact kaldırın
“Watermark” tipi eserleri bulun ve sayfadaki eser koleksiyonundan çıkarın. değişiklik yaptıktan sonra belgeyi kaydedin:
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");
}Sayfalar boyutları
Şekilleri doğru bir şekilde yerleştirmek için, öncelikle sayfanın ortam kutusu boyutlarını alın. standart A4 595×842 puan; standart US Letter 612×792 puan:
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");
}