在 Java 中向 PDF 添加椭圆形状
Contents
[
Hide
]
添加椭圆轮廓
- 创建新的 PDF Document。
- 将一个 Page 添加到文档。
- 创建一个 Graph 容器并将其添加到页面。
- 创建 Ellipse 形状并配置其几何。
- 添加 Ellipse 到 Graph 容器。
- 设置示例所需的形状属性,包括 Color 和 TextFragment。
- 保存输出 PDF Document。
public static void addEllipse(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Graph graph = new Graph(400.0, 400.0);
graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));
Ellipse ellipse1 = new Ellipse(150, 100, 120, 60);
ellipse1.getGraphInfo().setColor(Color.getGreenYellow());
ellipse1.setText(new TextFragment("Ellipse"));
graph.getShapes().addItem(ellipse1);
page.getParagraphs().add(graph);
document.save(outputFile.toString());
}
}
完整示例向同一图形添加了两个不同的轮廓椭圆。
添加填充椭圆
createEllipseFilled 用…填充两个省略号 Color.getGreenYellow() 和 Color.getDarkRed()。
在椭圆内部添加文本
- 创建新的 PDF Document。
- 将一个 Page 添加到文档。
- 创建一个 TextFragment 并设置所需的文本格式选项。
- 创建一个 Graph 容器并将其添加到页面。
- 创建 Ellipse 形状并配置其几何。
- 添加 Ellipse 到 Graph 容器。
- 保存输出 PDF Document。
public static void addTextInsideEllipse(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Graph graph = new Graph(400.0, 400.0);
graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));
TextFragment textFragment = new TextFragment("Ellipse");
textFragment.getTextState().setFont(FontRepository.findFont("Helvetica"));
textFragment.getTextState().setFontSize(24);
Ellipse ellipse1 = new Ellipse(100, 100, 120, 180);
ellipse1.getGraphInfo().setFillColor(Color.getGreenYellow());
ellipse1.setText(textFragment);
graph.getShapes().addItem(ellipse1);
page.getParagraphs().add(graph);
document.save(outputFile.toString());
}
}