Skip to content

添加文本水印

添加文字水印的步骤如下:

1.初始化

CPDFWatermark对象,指定水印类型为文本。

2.设置文字水印需要的属性,包含内容,字体,颜色,字号。
3.设置水印通用属性。
4.在文档中创建水印。

以下是创建文字水印的示例代码:

java
CPDFWatermark watermark = (CPDFWatermark) document.createWatermark(CPDFWatermark.Type.WATERMARK_TYPE_TEXT);
watermark.setText("Hello World");// 水印的文本(图像水印无效)。
watermark.setFontName("Helvetica");// 水印的文本字体(图像水印无效)。
watermark.setTextRGBColor(ColorUtils.parseColor(color));// 水印的文本颜色(图像水印无效)。
watermark.setFontSize(30);// 默认字体:Helvetica 24。
watermark.setOpacity(0.5f);// 水印的透明度,范围为0〜1,默认为1。
watermark.setFront(true);// 将水印定位在内容前面。
watermark.setVertalign(CPDFWatermark.Vertalign.WATERMARK_VERTALIGN_CENTER);// 水印的垂直对齐方式。
watermark.setHorizalign(CPDFWatermark.Horizalign.WATERMARK_HORIZALIGN_CENTER);// 水印的水平对齐方式。
watermark.setVertOffset(0);// 相对于垂直位置的平移量。正数向下移动,负数向上移动。
watermark.setHorizOffset(0);// 相对于水平位置的平移量。正数向右移动,负数向左移动。
watermark.setScale(1.3f);// 水印的缩放比例,默认为1,如果是图片水印,则1代表图片的原始尺寸,如果是文本水印,则1代表`textFont`字体大小。
watermark.setPages("3,4,5");// 设置水印页面范围3,4,5。
watermark.setFullScreen(true);// 设置水印平铺(图片水印无效)。
watermark.setHorizontalSpacing(100);// 设置平铺水印的左右间距。
watermark.setVerticalSpacing(100);// 设置平铺水印的垂直间距。
watermark.update();
watermark.release();
readerView.reloadPages();
kotlin
val watermark = document.createWatermark(CPDFWatermark.Type.WATERMARK_TYPE_TEXT)
watermark.apply {
  text = "Hello World" // 水印的文本(图像水印无效)。
  fontName = "Helvetica" // 水印的文本字体(图像水印无效)。
  textRGBColor = ColorUtils.parseColor(color)  // 水印的文本颜色(图像水印无效)。
  fontSize = 30F // 默认字体:Helvetica 24。
  opacity = 0.5F // 水印的透明度,范围为0〜1,默认为1。
  isFront = true // 将水印定位在内容前面。
  vertalign = CPDFWatermark.Vertalign.WATERMARK_VERTALIGN_CENTER // 水印的垂直对齐方式。
  horizalign = CPDFWatermark.Horizalign.WATERMARK_HORIZALIGN_CENTER  // 水印的水平对齐方式。
  vertOffset = 0F // 相对于垂直位置的平移量。正数向下移动,负数向上移动。
  horizOffset = 0F // 相对于水平位置的平移量。正数向右移动,负数向左移动。
  scale = 1.3F // 水印的缩放比例,默认为1,如果是图片水印,则1代表图片的原始尺寸,如果是文本水印,则1代表`textFont`字体大小。
  pages = "3,4,5" // 设置水印页面范围3,4,5。
  isFullScreen = true // 设置水印平铺(图片水印无效)。
  horizontalSpacing = 100F // 设置平铺水印的左右间距。
  verticalSpacing = 100F // 设置平铺水印的垂直间距。
  update()
  release()
}
readerView.reloadPages()