Disegnare forme

Questa guida mostra come disegnare forme geometriche e gestire le decorazioni grafiche delle pagine in Aspose.PDF FOSS per Java. Imparerai a disegnare cerchi usando CircleAnnotation e a enumerare o rimuovere oggetti Artifact come filigrane e intestazioni.

Disegno di forme

Aspose.PDF FOSS per Java espone le forme geometriche principalmente attraverso il livello di annotazione. CircleAnnotation disegna un’ellisse in una data Rectangle su una pagina. Imposta il colore di riempimento con setColor() e aggiungila alla collezione di annotazioni della pagina.

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("shapes.pdf");
}

Il costruttore Rectangle accetta (x1, y1, x2, y2) nelle unità di coordinate PDF (punti, misurati dall’angolo inferiore sinistro della pagina).

Artifacts

La classe Artifact modella le decorazioni della pagina: intestazioni, piè di pagina, filigrane e immagini di sfondo. ArtifactCollection, accessibile tramite le risorse della pagina, consente l’enumerazione e la rimozione degli oggetti artefatto esistenti.

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    // Enumerate artifacts (watermarks, headers, footers)
    for (Artifact artifact : page.getArtifacts()) {
        System.out.println(artifact.getArtifactType());
    }
}

Usa ArtifactCollection.delete(artifact) per rimuovere artefatti specifici senza modificare direttamente lo stream di contenuto della pagina.

Rimozione delle filigrane

Per rimuovere gli artefatti di filigrana da una pagina, itera la collezione di artefatti, identifica le filigrane per tipo e rimuovile prima di salvare:

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

Vedi anche

 Italiano