通過本文你將學到:
- 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-iceblue.cn/Downloads/Free-Spire-PDF-JAVA.html
2.官方搭建有官方Maven倉庫:http://repo.e-iceblue.com/nexus/content/groups/public/
3.需要說明的是,不建議使用官方倉庫,其一速度很慢,其二現在每個公司都有搭建自己的Maven私服,再使用其他公司的倉庫需要公網支持也不是很方便,建議將jar包下載下來並上傳到自己公司的私服裏去
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>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();
}
}
代碼中的圖片水印大小和位置可自行設置調整