當前位置: 妍妍網 > 碼農

一個開源、簡單、易用的浮水印添加框架

2024-06-18碼農

點選「 IT碼徒 」, 關註,置頂 公眾號

每日技術幹貨,第一時間送達!

今天給大家介紹一個簡單易用的浮水印添加框架,框架抽象了各個檔型別的對於浮水印添加的方法。僅使用幾行程式碼即可為不同型別的檔添加相同樣式的浮水印。

如果你有給PDF、圖片添加浮水印的需求,EasyWatermark是一個很好的選擇,主要功能就是傳入一個檔,並設定本次要添加的浮水印,即可在檔中添加浮水印內容。

快速開始

  1. 添加依賴

<dependency>
<groupId>org.easywatermark</groupId>
<artifactId>easy-watermark</artifactId>
<version>最新版本</version>
</dependency>

  1. 添加浮水印

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();

    展示效果

    圖片

    pdf

    開源地址

    https://github.com/AzirZsk/easy-watermark

    END

    PS:防止找不到本篇文章,可以收藏點贊,方便翻閱尋找哦。

    往期推薦