Java 添加、隐藏/显示、删除PDF图层
程序员文章站
2022-07-10 21:08:55
本文介绍操作PDF图层的方法。可分为添加图层(包括添加线条、形状、字符串、图片等图层)、隐藏或显示图层、删除图层等。具体可参考如下Java代码示例。 工具:Free Spire.PDF for Java (免费版) Jar包下载和导入:可通过官网下载,下载后,解压,将lib文件夹下的Sprie.Pd ......
本文介绍操作pdf图层的方法。可分为添加图层(包括添加线条、形状、字符串、图片等图层)、隐藏或显示图层、删除图层等。具体可参考如下java代码示例。
工具:free spire.pdf for java (免费版)
jar包下载和导入:可通过官网下载,下载后,解压,将lib文件夹下的sprie.pdf.jar导入java程序;或者可通过maven仓库下载导入。如下导入效果:
java示例1:添加图层
import com.spire.pdf.*; import com.spire.pdf.graphics.*; import com.spire.pdf.graphics.pdfpen; import com.spire.pdf.graphics.layer.pdflayer; import java.awt.*; import java.awt.geom.point2d; public class addlayer { public static void main(string[]args){ //新建一个pdf文档,并添加一页 pdfdocument pdf = new pdfdocument(); pdf.getpages().add(); //添加图层1为直线 pdflayer layer1 = pdf.getlayers().addlayer("线条");//添加图层并指定图层名称 pdfcanvas canvas1 = layer1.creategraphics(pdf.getpages().get(0).getcanvas()); canvas1.drawline(new pdfpen(pdfbrushes.getred(), 2.5), new point2d.float(0, 0), new point2d.float(150, 0));//绘制线条图层(指定直线首尾两点坐标,并应用画刷) //创建图层2为形状 pdflayer layer2 = pdf.getlayers().addlayer("椭圆");//添加图层并指定图层名称 pdfcanvas canvas2 = layer2.creategraphics(pdf.getpages().get(0).getcanvas()); pdfpen pen = new pdfpen( new pdfrgbcolor(color.black),2.5f);//创建画笔(指定画笔颜色、粗细) pdfbrush brush1 = new pdfsolidbrush(new pdfrgbcolor(color.pink));//创建画刷1(设置画刷颜色为:粉色) canvas2.drawellipse(pen, brush1, 65, 50, 80, 80);//绘制形状图层(绘制圆形到指定页面位置,并应用画笔、画刷) //创建图层3为文本字符串 pdflayer layer3 = pdf.getlayers().addlayer("字符串");//添加图层并指定图层名称 pdfcanvas canvas3 = layer3.creategraphics(pdf.getpages().get(0).getcanvas()); pdftruetypefont font1= new pdftruetypefont(new font("arial unicode ms",font.plain,14),true);//创建字体 pdfbrush brush2 = new pdfsolidbrush(new pdfrgbcolor(color.blue));//创建格式刷2(设置画刷颜色为:蓝色) canvas3.drawstring("string string string", font1, brush2, 100, 150);//绘制字符串图层(指定字符串到指定页面位置,并应用字体、画刷) //创建图层4为图片 pdflayer layer4 = pdf.getlayers().addlayer("图片");//添加图层并指定图层名称 pdfcanvas canvas4 = layer4.creategraphics(pdf.getpages().get(0).getcanvas()); canvas4.drawimage(pdfimage.fromfile("tp.png"), 30, 190, 150, 135);//绘制图片图层(加载图片,绘制到指定页面位置并指定图片大小) //保存文档 pdf.savetofile("addlayers.pdf",fileformat.pdf); pdf.dispose(); } }
图层添加效果:
java示例2:隐藏/显示图层
import com.spire.pdf.fileformat; import com.spire.pdf.pdfdocument; import com.spire.pdf.graphics.layer.pdfvisibility; public class hideorshowlayer { public static void main(string[] args) { //加载文档 pdfdocument pdf = new pdfdocument(); pdf.loadfromfile("addlayers.pdf"); pdf.getlayers().get(0).setvisibility(pdfvisibility.off);//设置图层隐藏 //pdf.getlayers().get(2).setvisibility(pdfvisibility.on);//设置图层显示 //保存文档 pdf.savetofile("hideorshowlayer.pdf", fileformat.pdf); pdf.dispose(); } }
图层隐藏/显示效果:
java示例3:删除图层
import com.spire.pdf.*; public class removelayer { public static void main(string[] args) { //加载文档 pdfdocument pdf = new pdfdocument(); pdf.loadfromfile("addlayers.pdf"); //根据图层名称索引,删除图层 pdf.getlayers().removelayer("字符串"); //保存文档 pdf.savetofile("removelayer.pdf",fileformat.pdf); pdf.dispose(); } }
图层删除效果:
(完)