Jak přidat kreslicí tvary v Java

Jak přidat kreslicí tvary v Java

Tento průvodce ukazuje, jak kreslit geometrické tvary a pracovat s dekoracemi artefaktů na stránce v Aspose.PDF FOSS pro Java. Naučíte se přidat CircleAnnotation pro nakreslení elipsy, prozkoumat vodoznaky a hlavičkové artefakty a odstranit objekty artefaktů.

Nakreslit kruh

Přidejte CircleAnnotation pro nakreslení vyplněné nebo ohraničené elipsy na stránce. Metoda setColor() nastavuje barvu výplně anotace. Přidejte anotaci do kolekce anotací stránky a uložte 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 přijímá (x1, y1, x2, y2) v jednotkách PDF (bodech, měřených od levého dolního rohu stránky).

Prozkoumat artefakty stránky

Artefakty jsou dekorace, které nejsou obsahem, jako jsou záhlaví, zápatí a vodoznaky. Procházejte existující artefakty na stránce a prozkoumejte jejich typ a 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());
    }
}

Odstranit artefakt vodoznaku

Najděte artefakty typu “Watermark” a odstraňte je ze sbírky artefaktů stránky. Uložte dokument po provedení změny:

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

Získat rozměry stránky

Pro správné umístění tvarů nejprve získejte rozměry media boxu stránky. Standardní formát A4 má 595×842 bodů; standardní US Letter má 612×792 bodů:

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

Viz také:

 Čeština