在 Java 中以 PDF 格式创建图形和图表

图形和图表用于直观地表示 PDF 文件中的数据。此外,您可以使用它们以图形方式描述系统中活动或操作的流程,例如流程图。在本文中,您将学习如何使用 Java 以编程方式在 PDF 文件中创建图形和图表。我们将明确介绍如何在 PDF 文件中创建不同的图形对象。

在 PDF 中创建图形和图表的 Java API

Aspose.PDF for Java 是一个了不起的 API,它提供了一系列用于 PDF 生成和操作的功能。使用 API,您可以无缝地创建简单和复杂布局的 PDF 文件。我们将使用此 API 在 PDF 文件中创建图形和图表。您可以 下载 API 或使用以下 Maven 配置安装它。

Repository:
<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency:
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

用 Java 在 PDF 中创建弧

以下是在 Java 中在 PDF 中添加圆弧的步骤。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带有维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Arc 类的实例并设置其尺寸和其他参数。
  5. 使用 Graph.getShapes().add(Arc) 方法将弧添加到 Graph 的形状集合中。
  6. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  7. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例显示了如何在 Java 中的 PDF 中添加弧。

// 创建文档实例
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建具有特定维度的 Graph 对象
Graph graph = new Graph(400, 400);

// 为绘图对象设置边框
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// 创建圆弧
Arc arc1 = new Arc(100, 100, 95, 0, 90);
arc1.getGraphInfo().setColor(Color.getGreenYellow());
graph.getShapes().add(arc1);

Graph graph2 = new Graph(400, 400);

// 创建填充圆弧
Arc arc = new Arc(100, 100, 95, 0, 90);
arc.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(arc);

Line line = new Line(new float[] { 195, 100, 100, 100, 100, 195 });
line.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(line);

// 将图形对象添加到页面的段落集合
page.getParagraphs().add(graph);
page.getParagraphs().add(graph2);

// 保存 PDF 文件
pdfDocument.save("create-arc.pdf");

以下是我们使用上述代码示例生成的弧。

在 Java 中创建 PDF 中的弧

用 Java 在 PDF 中创建一个圆圈

以下是在 Java 中向 PDF 文件添加圆圈的步骤。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Circle 类的实例并设置其尺寸。
  5. 使用 Graph.getShapes().add(Circle) 方法将圆形添加到 Graph 的形状集合中。
  6. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  7. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例展示了如何在 Java 中添加 PDF 中的圆圈。

// 创建文档实例
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建具有特定维度的 Graph 对象
Graph graph = new Graph(400, 200);

// 为绘图对象设置边框
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// 创建圈子
Circle circle = new Circle(100,100,40);
circle.getGraphInfo().setColor(Color.getGreenYellow());       
circle.getGraphInfo().setFillColor(Color.getGreenYellow());

graph.getShapes().add(circle);

// 将图形对象添加到页面的段落集合
page.getParagraphs().add(graph);

// 保存 PDF 文件
pdfDocument.save("create-circle.pdf");

以下是我们使用上述代码示例生成的圆圈。

用 Java 在 PDF 中创建一个圆圈

用 Java 在 PDF 中添加曲线

以下是在 Java 中在 PDF 文件中添加曲线的步骤。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带有维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Curve 类的实例并设置其尺寸。
  5. 使用 Graph.getShapes().add(Curve) 方法将曲线添加到 Graph 的形状集合中。
  6. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  7. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例展示了如何在 Java 中将曲线添加到 PDF 文件。

// 创建文档实例
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建具有特定维度的 Graph 对象
Graph graph = new Graph(400, 200);

// 为绘图对象设置边框
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// 创建曲线
Curve curve1 = new Curve(new float[] { 10, 10, 50, 60, 70, 10, 100, 120});

curve1.getGraphInfo().setColor(Color.getGreenYellow());
graph.getShapes().add(curve1);

// 创建具有特定尺寸的绘图对象
Graph graph2 = new Graph(400, 200);

// 创建填充曲线
Curve curve2 = new Curve(new float[] { 50, 30, 200, 60, 70, 10, 100, 120});
curve2.getGraphInfo().setFillColor(Color.getGreenYellow());
graph2.getShapes().add(curve2);

// 将图形对象添加到页面的段落集合
page.getParagraphs().add(graph);        
page.getParagraphs().add(graph2);

// 保存 PDF 文件
pdfDocument.save("create-curve.pdf");

以下是我们使用上述代码示例生成的曲线。

用 Java 在 PDF 中添加曲线

用 Java 在 PDF 中添加一行

以下是使用 Java 在 PDF 中添加行的步骤。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带有维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Line 类的实例并设置其尺寸。
  5. 设置线条的其他属性,如样式、宽度等。
  6. 使用 Graph.getShapes().add(Line) 方法将线条添加到 Graph 的形状集合中。
  7. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  8. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例展示了如何在 Java 中的 PDF 中添加行。

// 创建文档实例
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建 Graph 实例
Graph graph = new Graph(100, 400);

// 将图形对象添加到页面实例的段落集合
page.getParagraphs().add(graph);

// 创建线实例
Line line = new Line(new float[] { 300, 200, 200, 100 });

line.getGraphInfo().setLineWidth(5);

// 将矩形对象添加到 Graph 对象的形状集合中
graph.getShapes().add(line);

// 创建虚线
Line line2 = new Line(new float[] { 100, 100, 200, 100 });

// 为 Line 对象设置颜色
line2.getGraphInfo().setColor(Color.getRed());

// 设置线宽
line2.getGraphInfo().setLineWidth(5);

// 为线对象指定虚线数组
line2.getGraphInfo().setDashArray(new int[] { 0, 1, 0 });

// 为 Line 实例设置破折号阶段
line2.getGraphInfo().setDashPhase(1);

// 将线条添加到绘图对象的形状集合
graph.getShapes().add(line2);

// 保存 PDF 文件
pdfDocument.save("create-line.pdf");

以下是我们使用上述代码示例创建的行。

用Java在PDF中添加一行

用Java在PDF中创建一个矩形

与其他图形对象类似,您可以将矩形添加到 PDF。此外,您可以用某种颜色填充矩形,控制 Z-Order,添加渐变颜色等。以下是在 Java 中在 PDF 文件中创建矩形的步骤。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带有维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Rectangle 类的实例并设置其尺寸。
  5. 设置矩形的其他属性,如填充颜色、渐变等。
  6. 使用 Graph.getShapes().add(Rectangle) 方法将矩形添加到 Graph 的形状集合中。
  7. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  8. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例展示了如何在 Java 中的 PDF 中添加矩形。

// 创建新的 PDF 文件
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建 Graph 实例
Graph graph = new Graph(100, 400);

// 将图形对象添加到页面实例的段落集合
page.getParagraphs().add(graph);

// 创建矩形实例
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(300, 100, 200, 120);

// 为 Graph 对象指定填充颜色
rect.getGraphInfo().setFillColor(Color.getRed());

// 将矩形对象添加到 Graph 对象的形状集合中
graph.getShapes().add(rect);

// 用渐变填充矩形
com.aspose.pdf.drawing.Rectangle rect2 = new com.aspose.pdf.drawing.Rectangle(0, 0, 300, 300);
graph.getShapes().add(rect2);

// 为 Graph 对象和填充指定渐变填充颜色
Color gradientFill = new com.aspose.pdf.Color();
rect2.getGraphInfo().setFillColor(gradientFill);

// 设置渐变
GradientAxialShading gradientAxialShading = new GradientAxialShading(Color.getRed(), Color.getBlue());
gradientAxialShading.setStart(new Point(0, 0));
gradientAxialShading.setEnd(new Point(300, 300));
gradientFill.setPatternColorSpace(gradientAxialShading);

// 保存 PDF 文件
pdfDocument.save("create-rectangle.pdf");

以下是我们使用上述代码示例创建的矩形。

用Java在PDF中创建一个矩形

在 Java 中创建 PDF 中的椭圆

最后但并非最不重要的一点,让我们看看如何在 Java 中创建 PDF 中的椭圆。

  1. 使用 Document 类创建新 PDF 或加载现有 PDF。
  2. 创建一个带维度的 Graph 对象。
  3. 为图形对象设置 BorderInfo
  4. 创建 Ellipse 类的实例并设置其尺寸。
  5. 设置椭圆的其他属性,如填充颜色等。
  6. 使用 Graph.getShapes().add(Ellipse) 方法将椭圆添加到 Graph 的形状集合中。
  7. 使用 Page.getParagraphs().add(Graph) 方法将图表添加到页面。
  8. 使用 Document.save(String) 方法保存 PDF 文件。

以下代码示例展示了如何在 Java 中的 PDF 文件中添加椭圆。

// 创建文档实例
Document pdfDocument = new Document();

// 将页面添加到 PDF 文件的页面集合
Page page = pdfDocument.getPages().add();

// 创建具有特定维度的 Graph 对象
Graph graph = new Graph(400, 400);

// 为绘图对象设置边框
BorderInfo borderInfo = new BorderInfo(BorderSide.All, Color.getGreen());
graph.setBorder(borderInfo);

// 创建椭圆
Ellipse ellipse1 = new Ellipse(100, 100, 120, 60);
ellipse1.getGraphInfo().setColor(Color.getGreenYellow());
ellipse1.setText(new TextFragment("Ellipse"));
graph.getShapes().add(ellipse1);

// 创建填充椭圆
Ellipse ellipse2 = new Ellipse(200, 100, 120, 180);
ellipse2.getGraphInfo().setFillColor(Color.getGreenYellow());
graph.getShapes().add(ellipse2);

// 将 Graph 对象添加到页面的段落集合
page.getParagraphs().add(graph);

// 保存 PDF 文件
pdfDocument.save("create-ellipse.pdf");

以下是我们使用上述代码示例创建的省略号。

在 Java 中创建 PDF 中的椭圆

获得免费许可证

您可以获得一个免费的临时许可证 以便在没有评估限制的情况下使用 Aspose.PDF for Java。

结论

在本文中,您学习了如何使用 Java 在 PDF 文件中创建不同的图表对象。您已经了解了如何在 PDF 中添加圆弧、圆、矩形、直线、曲线和椭圆。此外,您可以使用 文档 探索有关 Java PDF API 的更多信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看