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