通过本文你将学到:
Spire.Pdf是什么?如何在项目中引入Spire.Pdf依赖?项目中基于Spire.Pdf实现PDF添加图片水印?
一、Spire.Pdf是什么?
1.Spire.Pdf是成都冰蓝科技有限公司开发的一款简单易用、功能强大的Pdf文档编辑工具,有免费版本和收费版本,以下演示基于免费版本
2.相比较于市面上的其他类似工具,其最大的优点是:基于完全Java代码实现,不需要安装任何dll文件或其他证书文件,可完美利用Java跨平台特性运行于Linux环境
3.下面我们一起来领略如何简单的使用它
二、如何在项目中引入Spire.Pdf依赖?
1.下载地址:https://www.e-/Downloads/Free-Spire-PDF-JAVA.html
2.官方搭建有官方Maven仓库:http://repo.e-/nexus/content/groups/public/
3.需要说明的是,不建议使用官方仓库,其一速度很慢,其二现在每个公司都有搭建自己的Maven私服,再使用其他公司的仓库需要公网支持也不是很方便,建议将jar包下载下来并上传到自己公司的私服里去
<dependency><groupId>e-iceblue</groupId><artifactId>free.spire.pdf</artifactId><version>2.6.3</version></dependency>
三、项目中基于Spire.Pdf封装工具类实现PDF添加图片水印
直接上示例代码
package com.demo.utils;import com.spire.pdf.PdfDocument;import java.awt.geom.Rectangle2D;public class ImgWatermarkUtilForPdf {public static void addWatermark(String inFile, String outFile, String imgFile) {//创建PdfDocument对象PdfDocument pdf = new PdfDocument();//加载示例文档pdf.loadFromFile(inFile);for (int i = 0; i < pdf.getPages().getCount(); i++) {//设置背景图片pdf.getPages().get(i).setBackgroundImage(imgFile);//设置背景区域Rectangle2D.Float rect = new Rectangle2D.Float();rect.setRect(135, 340, 340, 200);pdf.getPages().get(i).setBackgroundRegion(rect);}//保存文档pdf.saveToFile(outFile);pdf.close();}}
代码中的图片水印大小和位置可自行设置调整