Come aggiungere forme di disegno in Java

Come aggiungere forme di disegno in Java

Questa guida mostra come disegnare forme geometriche e lavorare con le decorazioni degli artefatti di pagina in Aspose.PDF FOSS per Java. Imparerai ad aggiungere un CircleAnnotation per disegnare un’ellisse, ispezionare gli artefatti di filigrana e intestazione, e rimuovere gli oggetti artefatto.

Disegna un cerchio

Aggiungi un CircleAnnotation per disegnare un’ellisse riempita o con bordo su una pagina. Il metodo setColor() imposta il colore di riempimento dell’annotazione. Aggiungi l’annotazione alla collezione di annotazioni della pagina e salva il documento:

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

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

Ispeziona gli artefatti di pagina

Gli artefatti sono decorazioni non contenuto come intestazioni, piè di pagina e filigrane. Itera sugli artefatti esistenti in una pagina per ispezionarne il tipo e il sottotipo:

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

Rimuovi un artefatto Watermark

Trova gli artefatti di tipo “Watermark” ed eliminali dalla collezione di artefatti della pagina. Salva il documento dopo aver apportato la modifica:

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

Ottieni le dimensioni della pagina

Per posizionare correttamente le forme, prima ottieni le dimensioni del media box della pagina. Il formato standard A4 è 595×842 punti; il formato standard US Letter è 612×792 punti:

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

Vedi anche

 Italiano