Java 添加、隐藏/显示、删除PDF图层
2020-04-28 16:05:16来源:博客园 阅读 ()
Java 添加、隐藏/显示、删除PDF图层
本文介绍操作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(); } }
图层删除效果:
(完)
原文链接:https://www.cnblogs.com/Yesi/p/12792203.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash