添加水印?简单到几行代码!!【送源码】

今天给大家介绍一个简单易用的水印添加框架,框架抽象了各个文件类型的对于水印添加的方法。仅使用几行代码即可为不同类型的文件添加相同样式的水印。

如果你有给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 class WatermarkConfig {
  // 水印颜色
  private Color color = Color.BLACK;
  // 忽略旋转,仍在开发
  private boolean ignoreRotation = true;
  // 水印透明度
  private float 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
   */
  private float angle = 0;
}

字体配置

对应FontConfig类,该类会对水印文字的各项属性进行设置。

public class FontConfig {
  // 字体颜色
  private Color color = Color.BLACK;
  // 字体文件
  private File fontFile;

  /**
   * 默认的字体,目前仅在图片水印中生效
   * Default font name is Dialog
   */
  private String fontName = "Dialog";
  // 字体大小
  private int fontSize = 12;

  /**
   * 字体样式:加粗、斜体、正常
   * @see Font#PLAIN
   * @see Font#BOLD
   * @see Font#ITALIC
   */
  private int fontStyle = 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

——EOF——

福利:

扫码回复【酒店】可免费领取酒店管理系统源码

“轻松水印”是一款专业的图象加水印工具。通过它,我们可以快速、准确、方便、批量添加独特标识到图片上。    加注水印后的数码照片、产品展示图片可以最大限度防止盗用,同时也起到标识图片的功能。 《轻松水印》具有以下诸多特色: 软件的选项、操作简单易用,界面简洁、大方,用户很容易上手; 支持目前绝大部分图像格式的读取(支持读取格式:JPEG, BMP, TIFF, PCX, PNG, TGA, PBM, PGM, PPM, GIF, VDA, ICB, VST, PIX, WMF,FAX,PSD,PDD,PSP, CUT and PCD )和JPEG, BMP, TIFF, GIF, PNG图片格式的保存; 可视化的水印模板制作、管理功能,水印脚本制作更简单、便捷; 采用先进的文字平滑技术,文字水印效果能和Photoshop相媲美; 采用PNG格式无损压缩和通道技术,水印边缘不会产生任何杂色,达到最佳的合成效果; 内置图片的剪切、自动对比度、手动对比度等功能,让图片处理、加水印一步到位; 支持水印透明度和旋转角度的任意调整,加注效果更理想; 支持精确定位、平铺和填充等三种模式的水印加注方式。 用户不仅可以自定义文字或图片作为水印,字型的大小、颜色、位置等等参数都可以由用户自由的设定; 支持多水印、多项目管; 自动保存用户配置信息; 对目标图片尺寸约束功能,生成缩略图片一步到位; 对目标图片进行压缩和绘边等操作; 支持文件的拖放操作,只要将图片从资源管理器中直接拖到界面上即可加入处理列表中; 支持处理前的预览功能,让处理结果“心知肚明”; 2011.10.4 破解说明: 更多破解 www.uuk8.net 先安装原版,然后安装安装破解版覆盖源程序即可去除所有限制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值