Java 设置PDF平铺图片背景(水印)

2025-10-23 17:13:28

1、通过e-iceblue中文官网下载jar包,并解压将lib文件夹下的jar文件导入java程序。如下导入效果:

Java 设置PDF平铺图片背景(水印)

1、import com.spire.pdf.*;

 

import com.spire.pdf.graphics.PdfImage;

 

import com.spire.pdf.graphics.PdfTilingBrush;

 

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、平铺图片背景(水印)效果:

Java 设置PDF平铺图片背景(水印)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢