Formen zeichnen

Dieses Handbuch zeigt, wie man geometrische Formen zeichnet und grafische Seitenverzierungen in Aspose.PDF FOSS für Java verwaltet. Sie lernen, Kreise mit CircleAnnotation zu zeichnen und Artifact-Objekte wie Wasserzeichen und Kopfzeilen aufzulisten oder zu entfernen.

Formen zeichnen

Aspose.PDF FOSS für Java stellt geometrische Formen hauptsächlich über die Annotationsebene bereit. CircleAnnotation zeichnet eine Ellipse an einem angegebenen Rectangle auf einer Seite. Setzen Sie die Füllfarbe mit setColor() und fügen Sie sie der Annotation-Sammlung der Seite hinzu.

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

Der Rectangle-Konstruktor nimmt (x1, y1, x2, y2) in PDF-Koordinateneinheiten (Punkte, gemessen vom unteren linken Eck der Seite) entgegen.

Artifacts

Die Artifact-Klasse modelliert Seitenverzierungen: Kopfzeilen, Fußzeilen, Wasserzeichen und Hintergrundbilder. ArtifactCollection, über Seitenressourcen zugänglich, ermöglicht das Aufzählen und Entfernen vorhandener Artefakt-Objekte.

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

Verwenden Sie ArtifactCollection.delete(artifact), um bestimmte Artefakte zu entfernen, ohne den Seiten-Inhalts-Stream direkt zu ändern.

Wasserzeichen entfernen

Um Wasserzeichen-Artefakte von einer Seite zu entfernen, iterieren Sie die Artefakt-Sammlung, identifizieren Sie Wasserzeichen nach Typ und entfernen Sie sie vor dem Speichern:

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

Siehe auch

 Deutsch