Comment ajouter des formes de dessin dans Java
Ce guide montre comment dessiner des formes géométriques et travailler avec les décorations d’artisanat de page dans Aspose.PDF FOSS pour Java. vous apprendrez à ajouter un CircleAnnotation Pour dessiner un éllipse, inspecter les marques d’eau et les artisanats de tête, et enlever les objets d’artisanat.
Créer un cercle
Ajouter A CircleAnnotation pour dessiner un éllipse rempli ou limité sur une page. setColor() méthode définit l’annonce de remplir la couleur. Ajouter l’annonces à la page Recueillir et sauvegarder le 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");
}Le Rectangle Le constructeur prend (x1, y1, x2, y2) en unités PDF (point, mesurée) du coin gauche de la page).
Inspecter les articles de page
Les objets sont des décorations non contenues telles que les heurts, les pieds et les marques d’eau.Iterate sur les objetmes existants sur une page pour inspecter leur type et leur sous-type:
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());
}
}Supprimer un watermark artificiel
Trouver des articles de type “Watermark” et les supprimer de la collection d’articles de page. Sauvegarder le document après avoir fait le changement:
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 des dimensions de page
Pour positionner correctement les formes, obtenez d’abord la dimension de la boîte médiatique de page. standard A4 est 595 × 842 points; standard US Letter est 612 × 792 points:
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");
}