図形の描画

このガイドでは、Aspose.PDF FOSS for Java における幾何学的シェイプの描画方法と、グラフィカルなページ装飾の管理方法を示します。CircleAnnotation を使用して円を描く方法や、透かしやヘッダーなどの Artifact オブジェクトを列挙または削除する方法を学びます。

シェイプ描画

Aspose.PDF FOSS for Java は、主にアノテーションレイヤーを通じて幾何学的シェイプを提供します。CircleAnnotation はページ上の指定された Rectangle に楕円を描画します。setColor() で塗りつぶし色を設定し、ページのアノテーションコレクションに追加します。

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

Rectangle コンストラクタは、PDF 座標単位(ページ左下隅を基準としたポイント)で (x1, y1, x2, y2) を受け取ります。

Artifacts

Artifact クラスはページ装飾(ヘッダー、フッター、透かし、背景画像)をモデル化します。ページリソースからアクセスできる ArtifactCollection は、既存のアーティファクトオブジェクトの列挙と削除を可能にします。

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

ページコンテンツストリームを直接変更せずに、特定のアーティファクトを削除するには ArtifactCollection.delete(artifact) を使用します。

ウォーターマークの削除

ページからウォーターマークのアーティファクトを除去するには、アーティファクトコレクションを反復処理し、タイプでウォーターマークを特定し、保存する前に削除します:

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

参照

 日本語