Hur man lägger till ritformer i Java

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");
}

Se även

 Svenska