一种动态添加水印的方法和装置制造方法及图纸

技术编号:37616965 阅读:11 留言:0更新日期:2023-05-18 12:08
本申请公开了一种动态添加水印的方法和装置,该方法包括以下步骤:解析开放固定版式文档OFD页面,并根据解析结果建立OFD显示模型;根据水印文字的属性和所述OFD页面的属性,在所述OFD页面上排列所述水印文字,并根据排列情况生成水印路径数据集合,所述水印路径数据集合包括需要在所述OFD页面添加的所有水印路径数据;从所述水印路径数据集合中随机抽取水印路径数据,并将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中。本申请通过解析OFD页面,建立OFD显示模型,并根据水印路径数据将水印图形数据插入OFD显示模型的图层中,能够增加水印的隐匿性,使侵权者不容易定位水印。不容易定位水印。不容易定位水印。

【技术实现步骤摘要】
一种动态添加水印的方法和装置


[0001]本申请属于计算机
,具体涉及一种动态添加水印的方法和装置。

技术介绍

[0002]随着OFD(Open Fixed

layout Documents,开放固定版式文档)文件的推广和流行,市场上出现了大量的OFD阅读、编辑软件及后台处理程序,很多都具备水印处理功能,可以对OFD版式文件添加水印或移除水印。
[0003]从技术角度观察,目前添加水印的处理思路还是比较单一的,常见有两种,一是使用水印注释,这种方案使用文字或者图像描述水印外观,优点是利用OFD格式支持的语法结构,其他标准OFD软件可以识别。另一种方案是在页面内容中添加文字,将水印内容和文本内容混合起来。这两种方案的共同特点是嵌入文字外形信息和字符编码,可以称之为“明文水印”。
[0004]明文水印便于人类阅读,可以起到广告宣传及警示读者注意作者版权的作用,但是也存在着非常容易被擦除的问题,如水印注释采用的是OFD格式支持的语法结构,普通OFD软件都可以识别出哪里是水印数据,因此可以直接加以编辑或移除。而对于在页面内容中添加文字,将水印内容和文本内容混合起来的方案,总体上来说识别难度也不大,例如人工指定水印的文本内容,然后用文本搜索的方式筛选水印文字也是可能的,只是处理过程稍显繁琐而已。
[0005]由此可见,现有技术中的明文水印技术存在水印元素容易被定位和擦除的缺陷,水印的隐匿性较低。
[0006]申请内容
[0007]本申请实施例的目的是提供一种动态添加水印的方法和装置,以解决现有技术中的水印技术存在水印容易被定位和擦除的缺陷。
[0008]为了解决上述技术问题,本申请是这样实现的:
[0009]第一方面,提供了一种动态添加水印的方法,包括以下步骤:
[0010]解析开放固定版式文档OFD页面,并根据解析结果建立OFD显示模型;
[0011]根据水印文字的属性和所述OFD页面的属性,在所述OFD页面上排列所述水印文字,并根据排列情况生成水印路径数据集合,所述水印路径数据集合包括需要在所述OFD页面添加的所有水印路径数据;
[0012]从所述水印路径数据集合中随机抽取水印路径数据,并将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中。
[0013]第二方面,提供了一种动态添加水印的装置,包括:
[0014]解析模块,用于解析开放固定版式文档OFD页面,并根据解析结果建立OFD显示模型;
[0015]生成模块,用于根据水印文字的属性和所述OFD页面的属性,在所述OFD页面上排列所述水印文字,并根据排列情况生成水印路径数据集合,所述水印路径数据集合包括需
要在所述OFD页面添加的所有水印路径数据;
[0016]插入模块,用于从所述水印路径数据集合中随机抽取水印路径数据,并将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中。
[0017]本申请实施例通过解析OFD页面,建立OFD显示模型,并根据水印路径数据将水印图形数据插入OFD显示模型的图层中,能够增加水印的隐匿性,使侵权者不容易定位水印。
附图说明
[0018]图1是本申请实施例提供的一种动态添加水印的方法流程图;
[0019]图2是本申请实施例提供的一种动态添加水印的装置的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]随着国产化基础软件的日益普及,OFD版式文件的使用范围越来越广,很多业务场景中需要添加水印,一方面作为Logo启到广告宣传作用,另一方面也是一种版权声明手段。大部分软件使用固定的明文水印,如使用OFD标准水印,添加文字内容等,这种方案虽然实现起来简单,但是存在一个明显的问题,那就是容易破解,普通用户使用OFD阅读软件或技术厂商通过程序方式都可以很容易的识别和删除,然后对文件进行扩散,因此侵权成本很低,这并不利于保护作者的权益。
[0022]本申请实施例为解决上述水印嵌入技术存在的问题,提出一种在OFD版式添加动态Path(路径)水印的方法和装置,对水印添加的方式和过程加以改进,从而增加水印的识别难度。通过在页面图层中添加水印的方式替代直接使用OFD水印结构,以及使用文字Path对象替代文字水印,使破解者无法简单定位水印结构,同时防止暴力检索到水印数据。过程改进体现在首先对页面内所有水印元素排版,然后计算单个水印Path的坐标变换,另外对水印元素的插入位置动态选择,包括整个页面中水印起始位置的随机生成,水印元素的插入图层随机生成,同时检测OFD显示模型以保证水印及页面内容整体显示效果的正确性,通过以上改进,可以大大增加水印的破解难度。
[0023]具体地,本申请实施例的技术方案包括以下三个关键步骤:
[0024]一、OFD页面解析,识别图层和图元
[0025]根据OFD版式文件的语法规则解析OFD文件,获取页面宽度、高度、图层、以及图层中图元数据,图元类型包括图形、图像、文字、视频、复合对象。解析图元Boundary属性,获得图层内可视元素的平面分布,同时根据图层出现的顺序将其依次压入栈中形成层叠关系,从而建立OFD页面的简易显示模型。
[0026]二、Path数据抽取,水印页面排版
[0027]加载水印字体文件,抽取水印文字的字形Path数据,字形宽度信息。从第一个字形原点开始沿阅读方向依次排列水印,后一个文字与前一个文字在X方向的偏移量为前者的宽度,同时记录字符偏移,形成以字形Path为基本的单行排版数据。根据页面宽度、高度,单
行水印的宽度、高度、水印间距、计算页面中需要平铺的水印数量,从而得到页面中需要添加的所有水印Path数据集合。
[0028]三、水印Path数据插入处理
[0029]经过上一步的处理后,水印Path数据集合中每条数据都具备完整的坐标变换关系,包括水印行内偏移、水印行旋转、水印单元相对页面偏移,确定页面水印起始位置即可计算其在页面上的最终显示坐标,同时数据之间的关系是离散,不需要依次处理,因此可以随机选择单条Path数据进行处理。Path数据插入的动态性体现在如下几个方面,首先Path数据不是逐条添加的,从集合中随机抽取;其次,每个页面的水印起始位置偏移量是动态计算的,从而可以保证每一页差异性;再次,Path插入的图层不是固定的,由程序动态生成,这里要考虑显示的正确性,参考OFD显示模型,Path插入图层不能被页面中的正常图元遮挡。
[0030]下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的动态添加水印的方法进行详细地说明。
[0031]如图1所示,为本申请实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态添加水印的方法,其特征在于,包括以下步骤:解析开放固定版式文档OFD页面,并根据解析结果建立OFD显示模型;根据水印文字的属性和所述OFD页面的属性,在所述OFD页面上排列所述水印文字,并根据排列情况生成水印路径数据集合,所述水印路径数据集合包括需要在所述OFD页面添加的所有水印路径数据;从所述水印路径数据集合中随机抽取水印路径数据,并将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中。2.根据权利要求1所述的方法,其特征在于,所述解析开放固定版式文档OFD页面,并根据解析结果建立OFD显示模型,具体包括:解析OFD页面,得到所述OFD页面的多个图层;分别解析所述OFD页面的多个图层,得到各个图层的图元;分别解析各个图层的图元的矩形区域,建立各个图层的图元的平面分布;根据各个图层在所述OFD页面出现的顺序,将各个图层依次压入栈中,建立图层的层叠关系,形成OFD显示模型。3.根据权利要求1所述的方法,其特征在于,所述根据水印文字的属性和所述OFD页面的属性,在所述OFD页面上排列所述水印文字,并根据排列情况生成水印路径数据集合,具体包括:加载水印字体文件,逐字抽取字形路径数据和字形宽度信息;从第一个字形原点开始,沿阅读方向依次排列水印文字,后一个水印文字与前一个水印文字在X方向的偏移量为后一个水印文字的宽度,记录行内偏移、行宽和行高,形成以字形路径为基本的单行排版数据;根据水印文字的旋转角度,计算字形路径数据的变换矩阵;根据OFD页面的宽度、高度,单行水印的行宽、行高、水印间距,计算页面中需要平铺的水印数量,得到水印路径数据集合。4.根据权利要求1所述的方法,其特征在于,所述水印路径数据集合中的每条水印路径数据都具备完整的坐标变换关系,包括水印行内偏移、水印行旋转和水印单元相对页面偏移;所述从所述水印路径数据集合中随机抽取水印路径数据,并将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中,具体包括:随机生成OFD页面的水印起始偏移量,并从所述水印路径数据集合中随机抽取一条水印路径数据;根据水印起始偏移量、所述水印路径数据中的水印行内偏移、水印行旋转和水印单元相对页面偏移,计算所述水印路径数据对应的水印图形在所述OFD页面中的最终显示位置;随机生成水印插入图层序号,将所述水印路径数据对应的水印图形数据插入所述序号对应的图层中。5.根据权利要求1所述的方法,其特征在于,所述将所述水印路径数据对应的水印图形数据插入所述OFD显示模型的图层中,具体包括:步骤A:在所述OFD页面内添加新图层,并将所述新图层插入所述OFD页面的最顶层;步骤B:随机生成水印插入图层序号;
步骤C:根据所述OFD显示模型检测所述序号对应的图层以及该图层的上层图层中是否有与所述水印路径数据对应的水印图形的外接矩阵交集的图元,如果没有,则执行...

【专利技术属性】
技术研发人员:冯辉段伟光陈亚军
申请(专利权)人:百望股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1