Free Spire.PDF for Java (免费版)
通过e-iceblue官网下载jar包,并解压将lib文件夹下的jar文件导入java程序。如下导入效果:
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(); } }
图层添加效果: