Java 添加和删除PDF图层

在PDF文档中,图层可以使部分内容选择性地被隐藏或显示。通过添加图层,我们可以将文本、图片、表格等元素精确定位于页面指定位置,并可将这些元素进行叠放、组合形成页面的最终效果。本文将介绍如何使用Spire.PDF for Java来添加和删除PDF图层。

使用工具: Free Spire.PDF for Java(免费版)

Jar文件获取及导入:

方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)
Java 添加和删除PDF图层_第1张图片

方法2:通过maven仓库安装导入。具体安装详解参见此网页

【示例1】添加图层

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfBrushes;
import com.spire.pdf.graphics.PdfCanvas;
import com.spire.pdf.graphics.PdfPen;
import com.spire.pdf.graphics.layer.PdfLayer;
import java.awt.geom.Point2D;
public class AddLayers {
    public static void main(String[] args) {
        //创建PDF文档
        PdfDocument pdf = new PdfDocument();
        //添加一页
        PdfPageBase page = pdf.getPages().add();

        //添加3个线条图层到PDF文档
        PdfLayer layer = pdf.getLayers().addLayer("red line1");
        PdfCanvas canvas1 = layer.createGraphics(pdf.getPages().get(0).getCanvas());
        canvas1.drawLine(new PdfPen(PdfBrushes.getRed(), 1), new Point2D.Float(50, 350), new Point2D.Float(200, 350));
        layer = pdf.getLayers().addLayer("blue line1");
        PdfCanvas canvas2 = layer.createGraphics(pdf.getPages().get(0).getCanvas());
        canvas2.drawLine(new PdfPen(PdfBrushes.getBlue(), 1), new Point2D.Float(50, 450), new Point2D.Float(200, 450));
        layer = pdf.getLayers().addLayer("green line1");
        PdfCanvas canvas3 = layer.createGraphics(pdf.getPages().get(0).getCanvas());
        canvas3.drawLine(new PdfPen(PdfBrushes.getGreen(), 1), new Point2D.Float(50,550), new Point2D.Float(200, 550));

        //保存结果文档
        pdf.saveToFile("output/addLayers.pdf");
        pdf.close();
    }
}

图层添加效果:

Java 添加和删除PDF图层_第2张图片

【示例2】删除图层

import com.spire.pdf.PdfDocument;
public class DeleteLayers {
    public static void main(String[] args) {
        //加载PDF文档
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("D:\\Desktop\\addLayers.pdf");

        //删除名为“red line1”的图层
        pdf.getLayers().removeLayer("red line1");

        //保存结果文档
        pdf.saveToFile("output/deleteLayer.pdf");
        pdf.close();
    }
}

图层删除效果:

Java 添加和删除PDF图层_第3张图片

(本文完)

你可能感兴趣的:(java,pdf)