在 Java 中向 PDF 添加矩形形状

添加矩形轮廓

  1. 创建一个新的 PDF Document。
  2. 将一个 Page 添加到文档。
  3. 创建一个 Graph 容器并将其添加到页面。
  4. 创建 Rectangle 形状并配置其几何。
  5. 添加 Rectangle 到 Graph 容器。
  6. 保存输出 PDF Document。
public static void addRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(400.0, 300.0);
        page.getParagraphs().add(graph);
        graph.setBorder(new BorderInfo(BorderSide.All, Color.getRed()));

        Rectangle rectangle = new Rectangle(20, 20, 350, 250);
        graph.getShapes().addItem(rectangle);

        document.save(outputFile.toString());
    }
}

使用实心或渐变颜色填充矩形

矩形示例包括:

  • createRectangleFilled 用于实心填充 Color.getRed()
  • addDrawingWithGradientFill 对于一个 GradientAxialShading 填充

使用 alpha 透明度

createRectangleWithAlphaColorChannel 应用半透明颜色 Color.fromArgb(...) 因此,重叠的矩形保持可见。

控制矩形的 z-order

  1. 创建一个新的 PDF Document。
  2. 将一个 Page 添加到文档。
  3. 设置所需的 Page 大小。
  4. 添加已配置的 Rectangle 形状到目标页面,并使用所需的 z-order。
  5. 保存输出 PDF Document。
public static void controlZOrderOfRectangle(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        page.setPageSize(375, 300);
        page.getPageInfo().getMargin().setLeft(0);
        page.getPageInfo().getMargin().setTop(0);

        addRectangleToPage(page, 50, 40, 60, 40, Color.getRed(), 2);
        addRectangleToPage(page, 20, 20, 30, 30, Color.getBlue(), 1);
        addRectangleToPage(page, 40, 40, 60, 30, Color.getGreen(), 0);

        document.save(outputFile.toString());
    }
}