Class Watermark

java.lang.Object
org.ofdrw.layout.edit.Annotation
org.ofdrw.layout.edit.Watermark

public class Watermark extends Annotation
水印,是一种特殊的注释。
Since:
2024-04-18 13:16
Author:
bhzhange
  • Constructor Details

    • Watermark

      public Watermark(PageLayout style)
      根据页面布局样式构建水印对象
      Parameters:
      style - PageLayout文档页面布局样式
    • Watermark

      public Watermark(double x, double y, double width, double height)
      根据水印绘制区域坐标和大小构建水印对象
      Parameters:
      x - 绘制区域左上角横坐标, 单位mm
      y - 绘制区域左上角纵坐标, 单位mm
      width - 绘制区域宽度, 单位mm
      height - 绘制区域高度, 单位mm
  • Method Details

    • getDrawer

      public WatermarkDrawer getDrawer()
      获取绘制器
      Overrides:
      getDrawer in class Annotation
      Returns:
      绘制器
    • setDrawer

      public Watermark setDrawer(WatermarkDrawer drawer)
      设置水印绘制器
      Parameters:
      drawer - 水印绘制器
      Returns:
      this
    • setValue

      public Watermark setValue(String value)
      设置文字水印内容
      Parameters:
      value - 文字内容
      Returns:
      this
    • getColor

      public String getColor()
      获取水印文字颜色
      Returns:
      颜色 CSS3样式的颜色值,可选值 颜色英文单词,例如red,blue、16进制颜色值,#000000、rgb(0,0,0)、rgba(0,0,0,1)
    • setColor

      public Watermark setColor(String color)
      设置水印文字颜色
      Parameters:
      color - 颜色, 符合CSS3样式的颜色值被支持,可选值 颜色英文单词,例如red,blue、16进制颜色值,#000000、rgb(0,0,0)、rgba(0,0,0,1)
      Returns:
      this
    • getFontName

      public String getFontName()
      获取字体名称
      Returns:
      字体名称
    • setFontName

      public Watermark setFontName(String fontName)
      设置字体名称
      Parameters:
      fontName - 字体名称
      Returns:
      this
    • getFontSize

      public double getFontSize()
      获取字体大小
      Returns:
      字体大小, 单位 mm
    • setFontSize

      public Watermark setFontSize(double fontSize)
      设置字体大小
      Parameters:
      fontSize - 字体大小,单位 mm
      Returns:
      this
    • getBold

      public Boolean getBold()
      获取文字是否粗体标识
      Returns:
      true 粗体, false-非粗体
    • setBold

      public Watermark setBold(Boolean bold)
      是否粗体
      Parameters:
      bold - true 粗体, false-非粗体
      Returns:
      this
    • getFontWeight

      public String getFontWeight()
      字体宽度,遵循 CSS3标准,可选值为 normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
      Returns:
      字体宽度,可选值为 normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
    • setFontWeight

      public Watermark setFontWeight(String fontWeight)
      字体宽度
      Parameters:
      fontWeight - 字体宽度,应遵循 CSS3标准,可选值为 normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
      Returns:
      this
    • getItalic

      public Boolean getItalic()
      获取文字是否斜体标识
      Returns:
      true 斜体, false-非斜体
    • setItalic

      public Watermark setItalic(Boolean italic)
      是否斜体
      Parameters:
      italic - true 斜体, false-非斜体
      Returns:
      this
    • getLetterSpacing

      public Double getLetterSpacing()
      获取文字字间距
      Returns:
      文字字间距,单位mm
    • setLetterSpacing

      public Watermark setLetterSpacing(Double letterSpacing)
      设置文字字间距
      Parameters:
      letterSpacing - 文字字间距,单位mm
      Returns:
      this
    • getGlobalAlpha

      public Double getGlobalAlpha()
      水印透明度,可取值 0.0~1.0,默认 0.5
      Returns:
      水印透明度,可取值 0.0~1.0,默认 0.5
    • setGlobalAlpha

      public Watermark setGlobalAlpha(Double globalAlpha)
      设置水印透明度,可取值 0.0~1.0,默认 0.5
      Parameters:
      globalAlpha - 水印透明度,可取值 0.0~1.0,默认 0.5
      Returns:
      this
    • getAngle

      public Double getAngle()
      旋转角度
      Returns:
      旋转角度,0-360, 默认330(对应数学弧度30度)
    • setAngle

      public Watermark setAngle(Double angle)
      设置旋转角度,表示基于坐标系(0,1)方向,向顺时针方向偏移的角度。 与数学意义上的圆弧角度存在360度偏差,即 360-angle=数学弧度。
      Parameters:
      angle - 旋转角度,0-360, 默认330(对应数学弧度30度)
      Returns:
      this
    • getValue

      public String getValue()
      获取水印文字内容
      Returns:
      水印文字内容
    • getIntervalX

      public Double getIntervalX()
      获取水印横向间距,单位mm
      Returns:
      水印横向间距,单位mm
    • setIntervalX

      public Watermark setIntervalX(Double intervalX)
      水印横向间距
      Parameters:
      intervalX - 水印横向间距,单位mm
      Returns:
      this
    • getIntervalY

      public Double getIntervalY()
      获取水印纵向间距,单位mm
      Returns:
      水印纵向间距,单位mm
    • setIntervalY

      public Watermark setIntervalY(Double intervalY)
      水印纵向间距
      Parameters:
      intervalY - 水印纵向间距,单位mm
      Returns:
      this
    • setFont

      public Watermark setFont(String fontName, Path fontPath)
      设置单元格绘制器使用的外部字体

      注意OFDRW不会提供任何字体裁剪功能,您的字体文件将直接加入OFD文件中,这可能造成文件体积剧增。

      Parameters:
      fontName - 字体名称,如“思源宋体”
      fontPath - 字体文件所在路径
      Returns:
      this
    • debug

      public Watermark debug()
      开启调试
      Returns:
      this