用 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 = new Graph(100, 400);

// 將圖形對象添加到頁面實例的段落集合
page.getParagraphs().add(graph);

// 創建線實例
Line line = new Line(new float[] { 300, 200, 200, 100 });

line.getGraphInfo().setLineWidth(5);

// 將矩形對象添加到圖形對象的形狀集合
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 = 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.getShapes().add(rect);

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

// 為圖形對象指定漸變填充顏色並填充
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 的更多信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。

也可以看看