Rysowanie kształtów

Ten przewodnik pokazuje, jak rysować geometryczne kształty i zarządzać graficznymi dekoracjami stron w Aspose.PDF FOSS dla Java. Nauczysz się rysować koła przy użyciu CircleAnnotation oraz wyliczać lub usuwać obiekty Artifact, takie jak znaki wodne i nagłówki.

Rysowanie kształtów

Aspose.PDF FOSS dla Java udostępnia geometryczne kształty głównie poprzez warstwę adnotacji. CircleAnnotation rysuje elipsę w podanym Rectangle na stronie. Ustaw kolor wypełnienia za pomocą setColor() i dodaj go do kolekcji adnotacji strony.

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

Konstruktor Rectangle przyjmuje (x1, y1, x2, y2) w jednostkach współrzędnych PDF (punkty, mierzone od lewego dolnego rogu strony).

Artifacts

Klasa Artifact modeluje dekoracje strony: nagłówki, stopki, znaki wodne i obrazy tła. ArtifactCollection, dostępny poprzez zasoby strony, umożliwia wyliczanie i usuwanie istniejących obiektów artefaktów.

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

Użyj ArtifactCollection.delete(artifact), aby usunąć konkretne artefakty bez bezpośredniej modyfikacji strumienia zawartości strony.

Usuwanie znaków wodnych

Aby usunąć artefakty znaków wodnych ze strony, przeiteruj kolekcję artefaktów, zidentyfikuj znaki wodne według typu i usuń je przed zapisaniem:

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

Zobacz także

 Polski