使用 Java 处理 PDF 图层

Aspose.PDF for Java 通过以下方式公开 PDF 图层 Layer 每页的 API。您可以创建可选内容组,修改其行为,并在需要时导出或展平其内容。

向 PDF 页面添加图层

  1. 创建新 PDF Document。
  2. 添加 Page 到文档。
  3. 创建并配置所需的 Layer 页面上的对象。
  4. 保存输出的 PDF Document。
public static void addLayers(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();

        Layer layer = new Layer("oc1", "Red Line");
        layer.getContents().add(new SetRGBColorStroke(1, 0, 0));
        layer.getContents().add(new MoveTo(500, 700));
        layer.getContents().add(new LineTo(400, 700));
        layer.getContents().add(new Stroke());
        page.getLayers().add(layer);

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

完整示例创建了三个分别包含红色、绿色和蓝色线条内容的独立层。

锁定图层

  1. 打开源 PDF Document。
  2. 访问目标 Page 并获取其 Layer 集合。
  3. 锁定目标 Layer。
  4. 保存更新的 PDF Document。
public static void lockLayer(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);
        if (!page.getLayers().isEmpty()) {
            Layer layer = page.getLayers().getFirst();
            layer.lock();
            document.save(outputFile.toString());
        }
    }
}