Java 添加图片印章到PDF

2025-10-25 18:58:29

1、步骤1:在程序中建一个文件夹,可命名为Lib。将下载的安装包解压,将文件夹下子文件夹lib中的两个jar(Spire.Common.jar、Spire.Pdf.jar)文件复制到程序中新建的文件夹中。

Java 添加图片印章到PDF

2、步骤2:复制到文件夹后,选中这两个文件,单击鼠标右键,选择“Build Path” – “Add to Build Path”。完成引用。

Java 添加图片印章到PDF

1、import com.spire.pdf.FileFormat;

import com.spire.pdf.PdfDocument;

import com.spire.pdf.PdfPageBase;

import com.spire.pdf.annotations.PdfRubberStampAnnotation;

import com.spire.pdf.annotations.appearance.PdfAppearance;

import com.spire.pdf.graphics.PdfImage;

import com.spire.pdf.graphics.PdfTemplate;

import java.awt.geom.Rectangle2D;

public class ImageStamp {

    public static void main(String[] args) {

        //创建PdfDocument对象,加载PDF测试文档

        PdfDocument doc = new PdfDocument();

        doc.loadFromFile("test.pdf");

        //获取文档第3页

        PdfPageBase page = doc.getPages().get(2);

        //加载印章图片

        PdfImage image = PdfImage.fromFile("stamp.png");

        //获取印章图片的宽度和高度

        int width = image.getWidth();

        int height = image.getHeight();

        //创建PdfTemplate对象

        PdfTemplate template = new PdfTemplate(width, height);

        //将图片绘制到模板

        template.getGraphics().drawImage(image, 0, 0, width, height);

        //创建PdfRubebrStampAnnotation对象,指定大小和位置

        Rectangle2D rect = new Rectangle2D.Float((float) (page.getActualSize().getWidth() - width - 10), (float) (page.getActualSize().getHeight() - height - 60), width, height);

        PdfRubberStampAnnotation stamp = new PdfRubberStampAnnotation(rect);

        //创建PdfAppearance对象

        PdfAppearance pdfAppearance = new PdfAppearance(stamp);

        //将模板应用为PdfAppearance的一般状态

        pdfAppearance.setNormal(template);

        //将PdfAppearance 应用为图章的样式

        stamp.setAppearance(pdfAppearance);

        //添加图章到PDF

        page.getAnnotationsWidget().add(stamp);

        //保存文档

        doc.saveToFile("ImageStamp.pdf",FileFormat.PDF);

    }

}

2、完成代码后,运行程序,生成文档。印章添加效果如下:

Java 添加图片印章到PDF

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