So fügen Sie Zeichenformen in Java hinzu
Dieser Leitfaden zeigt, wie man geometrische Formen zeichnet und mit Seiten-Artefakt-Dekorationen in Aspose.PDF FOSS für Java arbeitet. Sie lernen, ein CircleAnnotation hinzuzufügen, um eine Ellipse zu zeichnen, Wasserzeichen- und Kopfzeilen-Artefakte zu untersuchen und Artefakt-Objekte zu entfernen.
Kreis zeichnen
Fügen Sie ein CircleAnnotation hinzu, um eine gefüllte oder umrandete Ellipse auf einer Seite zu zeichnen. Die setColor()-Methode legt die Füllfarbe der Anmerkung fest. Fügen Sie die Anmerkung zur Anmerkungssammlung der Seite hinzu und speichern Sie das Dokument:
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");
}Der Rectangle-Konstruktor nimmt (x1, y1, x2, y2) in PDF-Einheiten (Punkte, gemessen vom unteren linken Eck der Seite) entgegen.
Seiten-Artefakte untersuchen
Artefakte sind nicht-inhaltliche Dekorationen wie Kopfzeilen, Fußzeilen und Wasserzeichen. Durchlaufen Sie die vorhandenen Artefakte auf einer Seite, um deren Typ und Untertyp zu prüfen:
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());
}
}Ein Watermark-Artifact entfernen
Finde Artefakte vom Typ “Watermark” und lösche sie aus der Artefakt-Sammlung der Seite. Speichere das Dokument, nachdem du die Änderung vorgenommen hast:
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");
}Seitenabmessungen ermitteln
Um Formen korrekt zu positionieren, hole zuerst die Abmessungen der Media-Box der Seite. Standard-A4 ist 595×842 Punkte; Standard-US-Letter ist 612×792 Punkte:
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");
}