Jak dodać kształty rysowania w Java

Jak dodać kształty rysowania w Java

Ten przewodnik pokazuje, jak rysować kształty geometryczne i pracować z dekoracjami artefaktów strony w Aspose.PDF FOSS dla Java. Nauczysz się dodać CircleAnnotation, aby narysować elipsę, sprawdzić artefakty znaków wodnych i nagłówków oraz usunąć obiekty artefaktów.

Narysuj koło

Dodaj CircleAnnotation, aby narysować wypełnioną lub obramowaną elipsę na stronie. Metoda setColor() ustawia kolor wypełnienia adnotacji. Dodaj adnotację do kolekcji adnotacji strony i zapisz dokument:

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

Konstruktor Rectangle przyjmuje (x1, y1, x2, y2) w jednostkach PDF (punkty, mierzone od lewego dolnego rogu strony).

Sprawdź artefakty strony

Artefakty to dekoracje niebędące treścią, takie jak nagłówki, stopki i znaki wodne. Przeglądaj istniejące artefakty na stronie, aby sprawdzić ich typ i podtyp:

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

Usuń artefakt Watermark

Znajdź artefakty typu “Watermark” i usuń je z kolekcji artefaktów strony. Zapisz dokument po wprowadzeniu zmiany:

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

Pobierz wymiary strony

Aby poprawnie pozycjonować kształty, najpierw pobierz wymiary pola mediów (media box) strony. Standardowy format A4 ma 595×842 punktów; standardowy format US Letter ma 612×792 punktów:

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

Zobacz także

 Polski