pdf水印功能关键技术详解

最近在开发pdf水印功能,产品成功测试上线了,觉得其中的难度真的是没有难度,可是为什么付昕等公司会把他当作是收费项目呢,真的是内行看门道,外行看热闹啊,其实pdf的开发就是一个标准,读懂了标准,就没有什么其他的东西了,不过我这里有捷径(2333333想知道吗?)水印作为pdf的一个单独的对象,首先有水印文字,水印图片两种类型,其实水印图片就是往文档里查图片,参考福昕的pdf编辑器,如果没有注册码的话,福昕就会单独的给你查一个图片来影响你的使用,其实你想去掉这个图片很简单,只要删除点东西就可以了,这里就不在赘述,详细怎么加,请参考pdf标准关于加图片的内容(都是Annot),其实最主要的还是水印文字,具体可视化的效果就跟我们上传的图片上面csdn的水印文字一样,当然它也是pdf标准里面的一些对象,首先水印的原则是每一页只有一个水印对象,不然就起不到防伪的作用了(0.0).当然技术上,你想怎么实现怎么实现,都是可行的,你可以随便添加水印的多少,但是逻辑上是只有一个水印(不然这个公司加一个水印,那个公司加一个水印,岂不是乱套啦。),为了添加水印文字,一下几条都需要的:

1,首先要有字体三兄弟,Type0,CIDFontType2,FontDescriptor.这三个对象,因为水印是文本类型,自然要涉及到文字啦。

2,自然就是水印对象咯,WaterMark对象,具体的内容可以查看标准关于水印的解释,当然这里面有很多哦坑,比如关于content的内容,SMask等等,这里不再赘述。

3,水印的Xobject对象,这也是给水印文字做appereance(显示的资源问题),具体内容可以参考标准关于xobject对象的解析。

有了上面这几个重要的对象做支撑,基本水印功能就完成啦。如果有不懂的可以来问俺 Q:372808681


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值