使用 Java 检查 PDF 图形中的形状边界

当需要确保形状适合放入图形容器时,使用 BoundsCheckMode。

验证图形形状边界

  1. 创建一个新的 PDF Document。
  2. 将一个 Page 添加到文档。
  3. 创建一个 Graph 容器并将其添加到页面。
  4. 创建 Rectangle 形状并配置其几何属性。
  5. 启用严格的边界检查并尝试将形状添加到图形集合中 BoundsCheckMode。
  6. 如果形状不适合,请处理异常。
  7. 保存输出 PDF Document。
public static void checkShapeBounds(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();
        Graph graph = new Graph(100.0, 100.0);
        graph.setTop(10);
        graph.setLeft(15);
        graph.setBorder(new BorderInfo(BorderSide.Box, 1, Color.getBlack()));
        page.getParagraphs().add(graph);

        Rectangle rectangle = new Rectangle(-1, 0, 50, 50);
        rectangle.getGraphInfo().setFillColor(Color.getTomato());
        try {
            graph.getShapes().updateBoundsCheckMode(BoundsCheckMode.ThrowExceptionIfDoesNotFit);
            graph.getShapes().addItem(rectangle);
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }

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