问题现象
- PDF的水印获取和判断存在只能判断当前打开PDF操作添加的水印吗?还是可以判断PDF文件已有的水印?
- 文件原先使用pdfService添加的水印可以判断吗?还是只能判断本次打开文件使用pdfService添加的水印?
- 使用addWatermark接口时,重复调用是叠加还是覆盖原有水印?调用removeWatermark方法是删除文档中全部水印还是单独删除某次添加的水印?
- 若有多个水印,调用getWatermark是获取哪一个呢?
- PDF水印添加是单个水印吗还是平铺(重复)呢?是否支持平铺(重复)?
- PDF添加图片水印时,图片的尺寸和对齐方式是怎么样的?对应ImageFit中的哪个呢?
- PDF添加水印和背景时,二者是谁在上面谁在下面,与添加顺序和isOnTop参数值有什么关联?
- 如何给PDF添加水印?
解决方案
- 参考hasWatermark和getWatermark,PDF Kit提供了水印获取和判断接口,主要用于判断pdfService服务添加的水印,不能判断所有来源的水印。
- 可以判断,文件若原先使用pdfService添加的水印可以被接口识别。
- addWatermark接口的重复调用会造成水印叠加,调用removeWatermark方法会删除文档中的全部水印,需要删除后重新添加需要保留的水印。
- 调用getWatermark方法,会获取最新一次添加的水印信息。
- PDF文档添加水印是单个水印,不会平铺或重复,具体参考addWatermark。
- PDF添加图片水印时,对应ImageFit中的Fill,即不保持宽高比进行放大缩小,使得图片或视频充满显示边界,对齐方式可以通过WatermarkInfo.horizontalAlignment及WatermarkInfo.verticalAlignment进行设置。
- PDF添加水印和背景时,水印始终在背景的上面,与添加顺序无关。水印和背景的isOnTop配置,用来控制是否遮盖文字,isOnTop设置为true显示在文字上面遮盖文字,设置为false显示在文字下面不遮盖文字,与水印和背景层级关系无关。
- PDF添加水印您可以参考:PDF文档添加水印。