如何在 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”的工件,并从页面的工件集合中删除它们。完成更改后保存文档:
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");
}