Java 设置PDF平铺图片背景(水印)
此经验将分享通过加载图片来设置成PDF平铺图片背景的效果,也可以作为平铺图屡阽咆忌片水印来使用,一般设置文本水印时可设置倾斜效果,这里设置图片背景(水印)也可以设置倾斜效果,具体参考代码步骤。
工具/原料
Free Spire.PDF for Java (免费版)
IDEA
工具下载及jar导入:
1、通过e-iceblue中文官网下载jar包,并解压将lib文件夹下的jar文件导入java程序。如下导入效果:
Java代码示例
1、import com.spire.pdf.*;import com.spire.pdf.graphics.PdfImage;import com.spire.pdf.graphics.Pdf皈其拄攥TilingBrush;import java.awt.*;import java.awt.geom.Dimension2D;import java.awt.geom.Rectangle2D;public class AddBackground { public static void main(String[] args) { //创建PdfDocument对象,并加载PDF测试文档 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("test.pdf"); //遍历文档每一页,加载图片,并设置成平铺背景(水印) for (int i = 0; i < pdf.getPages().getCount();i++) { PdfPageBase page = pdf.getPages().get(i); Dimension2D dimension2D = new Dimension(); dimension2D.setSize(page.getCanvas().getSize().getWidth()/4, page.getCanvas().getSize().getHeight()/3); PdfTilingBrush brush = new PdfTilingBrush(dimension2D); brush.getGraphics().setTransparency(0.2f); PdfImage image = PdfImage.fromImage("logo.png"); brush.getGraphics().translateTransform(brush.getSize().getWidth()/10,brush.getSize().getHeight()/10); brush.getGraphics().rotateTransform(30); brush.getGraphics().drawImage(image,brush.getSize().getWidth()-image.getWidth()/2,(brush.getSize().getHeight())/2); Rectangle2D rectangle2D = new Rectangle2D.Float(); rectangle2D.setFrame(new Point(0,0),page.getCanvas().getClientSize()); page.getCanvas().drawRectangle(brush,rectangle2D); } //保存文档 pdf.saveToFile("SetTiledBackground.pdf"); pdf.dispose(); }}
2、平铺图片背景(水印)效果: