在PDF文档中,图层可以使部分内容选择性地被隐藏或显示。通过添加图层,我们可以将文本、图片、表格等元素精确定位于页面指定位置,并可将这些元素进行叠放、组合形成页面的最终效果。本文将介绍如何使用Java程序来添加和删除PDF图层。
使用工具: Free Spire.PDF for Java(免费版)
Jar文件获取及导入:
方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)
方法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();
}
}
图层添加效果:
【示例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();
}
}
图层删除效果:
(本文完)