Com afegir formes de dibuix en Java
Aquesta guia mostra com dibuixar formes geomètriques i treballar amb decoracions d’artefactes de pàgines. en Aspose.PDF FOSS per Java. Aprendràs a afegir un CircleAnnotation per dibuixar un ellipse, inspeccionar les marques d’aigua i els objectes de capçalera, i eliminar els objects dels artefactes.
Dibuix un cercle
Afegir a CircleAnnotation dibuixar una el·lípses plena o bordada en una pàgina. setColor() method estableix el color de rellotge d’annotes. Afegir l’annotació a la pàgina del recopilació d’anotades i guardar el document:
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 pren (x1, y1, x2, y2) en unitats PDF (puntes, mesurades) des de l’esquerra inferior).
Inspeccionar els artefactes de la pàgina
Els artefactes són decoracions sense contingut com ara encaixos, pies de pàgina i marques d’aigua. Iterar sobre els artefactes existents en una pàgina per inspeccionar el seu tipus i subtipus:
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());
}
}Elimina un artefact de marca d’aigua
Busca artefactes del tipus “Watermark” i elimina-los de la col·lecció d’artefactes de pàgina. Salva el document després de fer el canvi:
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");
}Obtenir dimensions de pàgines
Per posicionar correctament les formes, primer obtingueu les dimensions de la caixa dels mitjans de comunicació de pàgina. L’A4 estàndard és 595 × 842 punts; l’US Letter estàandard és 612 × 792 punt:
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");
}