Java に描画シェイプを追加する方法

Java に描画シェイプを追加する方法

このガイドでは、Aspose.PDF FOSS for Java における幾何学的形状の描画方法とページアーティファクト装飾の操作方法を示します。CircleAnnotation を追加して楕円を描画し、透かしやヘッダーのアーティファクトを検査し、アーティファクトオブジェクトを削除する方法を学びます。

円を描く

ページ上に塗りつぶしまたは枠線付きの楕円を描くために CircleAnnotation を追加します。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("circle.pdf");
}

Rectangle コンストラクタは、PDF ユニット(ポイント、ページ左下隅から測定)で (x1, y1, x2, y2) を受け取ります。

ページアーティファクトを検査する

アーティファクトはヘッダー、フッター、透かしなどのコンテンツではない装飾です。ページ上の既存アーティファクトを反復処理して、そのタイプとサブタイプを検査します:

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

Watermark アーティファクトを削除する

タイプが “Watermark” のアーティファクトを検索し、ページのアーティファクトコレクションから削除します。変更を加えたらドキュメントを保存してください:

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

ページの寸法を取得する

図形を正しく配置するには、まずページのメディアボックスの寸法を取得します。標準的な A4 は 595×842 ポイント、標準的な US Letter は 612×792 ポイントです:

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

参照

 日本語