Cómo añadir formas de dibujo en Java
Este guía muestra cómo dibujar formas geométricas y trabajar con las decoraciones de artefactos de página en Aspose.PDF FOSS para Java. aprenderás a agregar un CircleAnnotation para dibujar un Ellipse, inspecciona los objetos de agua y el artefacto de cabeza, y se remove los objeto de arte.
Descargar un círculo
Añadir a CircleAnnotation para dibujar una ellipse llena o limitada en una página. setColor() método establece la anotación en su color.Añadir la Anotació a la página de Recopilación de anotaciones y salva el documento:
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");
}El Rectangle El constructor tiene (x1, y1, x2, y2) en unidades PDF (puntos, medidos) desde el extremo inferior izquierdo de la página).
Inspeccion de Artifacto
Los artefactos son decoraciones no contenidas como cabezas, piezas y marcos de agua. Iterate sobre los artefactos existentes en una página para inspeccionar su tipo y subtipo:
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());
}
}Descargar un Watermark Artifact
Encuentra los artefactos de tipo “Watermark” y elimine de la colección de artefacto de su página. Salva el documento después de hacer el cambio:
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");
}Obtener dimensiones de página
Para posicionar las formas correctamente, primero obtenga las dimensiones de la página. estándar A4 es 595×842 puntos; estándares US Letter es 612×792 puntos:
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");
}