點選「 IT碼徒 」, 關註,置頂 公眾號
每日技術幹貨,第一時間送達!
今天給大家介紹一個簡單易用的浮水印添加框架,框架抽象了各個檔型別的對於浮水印添加的方法。僅使用幾行程式碼即可為不同型別的檔添加相同樣式的浮水印。
如果你有給PDF、圖片添加浮水印的需求,EasyWatermark是一個很好的選擇,主要功能就是傳入一個檔,並設定本次要添加的浮水印,即可在檔中添加浮水印內容。
快速開始
添加依賴
<dependency>
<groupId>org.easywatermark</groupId>
<artifactId>easy-watermark</artifactId>
<version>最新版本</version>
</dependency>
添加浮水印
byte[] result = EasyWatermark.create()
.file(fileData)
.text("Easy-Watermark")
.execute();
更多配置
預制浮水印型別
CUSTOM:自訂浮水印,使用框架抽象的統一方法,對傳入檔的每個頁面進行特殊處理(開發中)
CENTER:居中,在頁面的各個居中位置上添加。
VERTICAL_CENTER:浮水印垂直居中
LEFT_CENTER:靠左居中
RIGHT_CENTER:靠右居中
TOP_CENTER:頂部居中
BOTTOM_CENTER:底部居中
OVERSPREAD:頁面鋪滿,可設定傾斜角度
LOW:低鋪滿,浮水印內容占比33%
NORMAL:一般鋪滿,浮水印內容占比66%
HIGH:高鋪滿,浮水印內容占比90%
DIAGONAL:頁面對角浮水印
TOP_TO_BOTTOM:文字從上到下
BOTTOM_TO_TOP:文字從下到上
浮水印配置
對應WatermarkConfig類,該類會對浮水印的各項內容進行設定。
public classWatermarkConfig{
// 浮水印顏色
private Color color = Color.BLACK;
// 忽略旋轉,仍在開發
privateboolean ignoreRotation = true;
// 浮水印透明度
privatefloat alpha = 1;
// 鋪滿浮水印子類別型
private OverspreadTypeEnum overspreadType = OverspreadTypeEnum.NORMAL;
// 居中浮水印子類別型
private CenterLocationTypeEnum centerLocationType = CenterLocationTypeEnum.VERTICAL_CENTER;
// 對角浮水印子類別型
private DiagonalDirectionTypeEnum diagonalDirectionType = DiagonalDirectionTypeEnum.TOP_TO_BOTTOM;
/**
* An angle, in degrees
* The angle of clockwise rotation
*/
privatefloat angle = 0;
}
字型配置
對應FontConfig類,該類會對浮水印文字的各項內容進行設定。
public classFontConfig{
// 字型顏色
private Color color = Color.BLACK;
// 字型檔
private File fontFile;
/**
* 預設的字型,目前僅在圖片浮水印中生效
* Default font name is Dialog
*/
private String fontName = "Dialog";
// 字型大小
privateint fontSize = 12;
/**
* 字型樣式:加粗、斜體、正常
* @see Font#PLAIN
* @see Font#BOLD
* @see Font#ITALIC
*/
privateint font style = Font.PLAIN;
}
進階用法
使用預設浮水印型別
byte[] result = EasyWatermark.create()
.file(fileData)
.text("Easy-Watermark")
// 選擇不同的浮水印型別
.easyWatermarkType(EasyWatermarkTypeEnum.CENTER)
.execute();
自訂浮水印配置以及字型配置
WatermarkConfig watermarkConfig = new WatermarkConfig();
// 設定浮水印透明度
watermarkConfig.setAlpha(0.5f);
FontConfig fontConfig = new FontConfig();
// 設定浮水印文字大小
fontConfig.setFontSize(30);
byte[] result = EasyWatermark.create()
.file(fileData)
// 自訂配置
.config(watermarkConfig)
.config(fontConfig)
// 浮水印型別
.easyWatermarkType(EasyWatermarkTypeEnum.CENTER)
.text("Easy-Watermark")
.executor();
展示效果
圖片
開源地址
https://github.com/AzirZsk/easy-watermark
— END —
PS:防止找不到本篇文章,可以收藏點贊,方便翻閱尋找哦。
往期推薦