Hur man lägger till ritformer i Java
Den här guiden visar hur man ritar geometriska former och arbetar med siddekorationsartefakter i Aspose.PDF FOSS för Java. Du kommer att lära dig att lägga till en CircleAnnotation för att rita en ellips, inspektera vattenstämpel- och rubrikartefakter, samt ta bort artefaktobjekt.
Rita en cirkel
Lägg till en CircleAnnotation för att rita en fylld eller kantad ellips på en sida. setColor()-metoden sätter annoteringens fyllnadsfärg. Lägg till annoteringen i sidans annoteringssamling och spara dokumentet:
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");
}Konstruktorn för Rectangle tar (x1, y1, x2, y2) i PDF-enheter (punkter, mätta från sidans nedre vänstra hörn).
Inspektera sidartefakter
Artefakter är icke-innehållsdekorationer såsom rubriker, sidfötter och vattenstämplar. Iterera över befintliga artefakter på en sida för att inspektera deras typ och undertyp:
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());
}
}Ta bort ett Watermark-artefakt
Hitta artefakter av typen “Watermark” och ta bort dem från sidans artefaktssamling. Spara dokumentet efter att du gjort ändringen:
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");
}Hämta sidans dimensioner
För att placera former korrekt, hämta först sidans media box-dimensioner. Standard A4 är 595×842 punkter; standard US Letter är 612×792 punkter:
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");
}