当前位置: 首页 > 专利查询>常诚专利>正文

一种识别PDF文档中水印的方法技术

技术编号:16270503 阅读:106 留言:0更新日期:2017-09-22 22:07
本发明专利技术涉及一种识别PDF文件中水印的方法。步骤1:提取PDF文字、位图元素内容及位置信息,根据位置计算指纹并计数;指纹是从内容中(此处即是位置)提取的关键信息,可以代表所指向的内容,相同指纹可以统计出现次;步骤2:筛选(计数>页数/2)的指纹集合,查找相应指纹位置的元素;步骤3:遍历备选指纹,如果指纹对应的都是文字元素,则进行步骤4处理;对应均为位图元素则进入步骤5;步骤4:提取该指纹对应的文字,如果相同或满足递增、递减规律则判定为文字水印;步骤5:提取指纹对应的位图,如果相同则判定为图片水印。在上述处理框架中,本发明专利技术还阐述了位置指纹生成方法,文字内容规律判断方法及相同图片判断方法等实施细节,综合提高PDF文档水印的识别率,为提取、分析内容等后续处理做准备。

【技术实现步骤摘要】
一种识别PDF文档中水印的方法
本专利技术属于PDF文件内容处理与分析的
,本专利技术涉及一种识别PDF文件中水印的方法。
技术介绍
PDF文档中经常出现水印用于标识该文档的版权、状态或其他附加信息,比如页面背景带“草稿”字样,提示文档未正式发表。PDF内容提取场景,如转换为其他格式(Word文档)或针对文字内容进行分析处理等,都需要识别水印信息,以免将它们混入正文干扰内容解析。PDF格式标准中并没有独立的“水印”概念,水印内容同样是通过PDF命令绘制,即将文档记录的颜色、字体、大小、位置、透明度等指令显示在页面上,与正文数据操作完全相同,所以无法直接通过程序解读和区分水印信息。然而,人眼却可以很容易辨别出水印:从构成角度看,水印可分为文字和图片(PDF格式中的位图Bitmap,下面不再赘述)两种;一般会显示相同或有规律的内容,并与正文有明显的风格(字体、字号等)差别;出现位置可以是正文下方作为内容背景,也可以是半透明状态覆盖在正文之上;另外水印通常都在页面特定位置出现,每页或至少正文页面都有。基于这些观察,本专利技术提出一种方法,利用水印显示规律自动识别PDF文档页面上的水印。
技术实现思路
本专利技术所要解决的技术问题是提供一种识别PDF文件中的水印的方法,能够解析页面上的水印内容并标识其所在位置。本专利技术解决上述技术问题的技术方案如下。步骤1:提取PDF文字、位图元素内容及位置信息,根据位置计算指纹并计数。指纹是从内容中(此处即是位置)提取的关键信息,可以代表所指向的内容,相同指纹可以统计出现次。步骤2:筛选(计数>页数/2)的指纹集合,查找相应指纹位置的元素。步骤3:遍历备选指纹,如果指纹对应的都是文字元素,则进行步骤4处理;对应均为位图元素则进入步骤5。步骤4:提取该指纹对应的文字,如果相同或满足递增、递减规律则判定为文字水印。步骤5:提取指纹对应的位图,如果相同则判定为图片水印。在以上处理流程中,还涉及通过元素位置坐标参数,生成文本指纹方法;文字元素相同通过字体、字号、颜色、旋转参数综合对比判断;文字内容递增递减规律通过差分方法判断;相同图片对比位图md5哈希值方法判断等实施细节。本专利技术的有益效果是:通过遍历PDF文件提取文本和位图元素,利用位置信息生成指纹。指纹生成方法在后面介绍。由于PDF文档按页显示内容,不同页面但同一位置的页面元素,可以通过条件(计数>页数/2)筛选出来,它们是潜在的水印。然后,针对备选指纹及指纹对应的内容判断,如果是文本内容,需要判断是否相同,或者满足某种变化规律,这是因为某些文本水印会附带页码、日期、项目编号等规律信息,满足条件则判定为水印;否则是图片内容,则直接判断位图数据是否相同,是则判定为图片水印。本专利技术利用指纹(计数)处理,避免存储、计算图文内容信息本身,节省分析开销。此外,针对文本、图片水印分别进行内容判断,可以大大拓展识别算法的适用性,提高识别率。在上述处理流程中,本专利技术还阐述了位置指纹生成方法,相同/规律文字及相同图片判断条件等细节,综合解决PDF文档水印识别问题。附图说明图1为本专利技术提出的识别PDF文件中水印的方法的流程图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。图1为本专利技术提出的识别PDF文件中的水印的方法的流程图。这里PDF是PortableDocumentFormat的缩写,意为便携文件格式,是一种电子文件格式,PDF文件指的是采用PDF格式的电子文件。该格式常用于保存和分发复杂排版的文档,名称中的便携(Portable)是指在各种硬件设备和软件平台上都可以获得相同的排版效果,因此特别适合用于要求准确显示、不可修改的文档。正因为这种不可修改的特性,生成文档时常常会添加水印,作用与纸质水印类似。本专利技术中,PDF文件中的水印可以是文字或图片(位图),出现在文档页面的固定位置,标识文档的版权、状态或其他附加信息。如图1所示,该方法包括。步骤101:提取PDF文字、位图元素内容及位置信息,根据位置计算指纹并计数。指纹是从内容中(此处即是位置)提取的关键信息,可以代表所指向的内容,相同指纹可以统计出现次。每个对象都包含显示的位置信息,可以表示为矩形,通过右下角位置坐标(x,y)和宽高(w,h)参数确定。然后将位置转换为指纹字符串“x,y,w,h”,其中每项数字都转为字符串,截断若干小数位降低匹配敏感度。举例说明,某坐标为(12.3212,20.6833),宽高分别为(45.5000,100.7300)的文字元素,得到指纹:“12.3,20.6,45.5,100.7”,这里保留一位小数。提取过程中,如果指纹再次出现则计数累加。最后,计数代表某个位置上元素出现了几次。通过指纹转换和截断小数点的方法,可以节约比较计算开销,同时忽略特别小的位置偏移,因为源头上计算机无法精确存储浮点型数据,所以引入截断机制可以提高本步骤的容错性。步骤102:筛选(计数>页数/2)的指纹集合,查找相应指纹位置的元素。本步骤筛选计数大于一半文档页数的指纹集合。步骤101已经解释过计数的含义,多个页面同一位置出现元素是水印的特征。设定数量大于一半页数,是因为某些具有装订线的文档,相邻页水印位置对称分布(隔页相同);另一方面,通常封面和底页不带有水印。实践中还可以人工指定该阈值以更适合识别场景。查找相应指纹位置的元素,同一指纹一般对应多个元素,在后续步骤中进一步判断。步驟103:遍历备选指纹,如果指纹对应得都是文字元素,则进行步骤105处理,否则进入步骤104。本步骤中的"遍历"是一种计算机运算形式,指的是沿着某条搜索路线,依次对集合中每个结点均做一次且仅做一次访问。遍历的方法以及上述的集合的概念属于计算机领域的公知常识,在此不做赘述。由于文本和位图处理方式不同,我们将满足位置条件的元素分为两类处理。指纹对应计数的内容均为文字元素,则满足条件,转入105继续进行内容检测。步骤104:如果指纹对应得都是位图元素,则进行步骤106。本步骤是103的后继判断,如果同一指纹对应元素既有文本又有位图也说明不是水印,尽管这种情况非常少见。步骤105:提取该指纹对应的文字,如果相同或满足递增、递减规律则判断为文字水印。步骤101至103主要着眼于元素位置,缩小判断范围,本步骤判断对应文字元素本身信息。首先,检查文字风格,包括文本字体,字号,颜色、旋转参数相同则继续判断。而后针对文字内容,如果完全相同,则判定为水印,如果不同,但是存在满足递增、递减规律的数字则判定为水印。其中,文字风格和内容是PDF格式固有信息,正是依赖这些指令,文档才得以精确显示。数字判断可以使用正则表达式,该算法是计算机领域的广泛使用的字符串处理方案,不再详细解释。递增、递减数字判断是通过差分计算获得,原理是数学中的等差数列。步骤106:提取指纹对应的位图,如果相同则判断为图片水印。PDF格式中的位图是以原始数据(二进制)方式存储,无论是文档多处引用,还是将同一位图多次存储(较少见),总能提取图片数据。为了比较图片数据相同,我们对图片数据做md5运算,计算该数据的摘要,摘要相同则说明是相同位图,判定为水印。其中,md5算法可以对数据生成一组128位本文档来自技高网...
一种识别PDF文档中水印的方法

【技术保护点】
一种识别PDF文件中水印的方法,其特征在于该方法包括:步骤1:提取PDF文字、位图元素内容及位置信息,根据位置计算指纹并计数;指纹是从内容中(此处即是位置)提取的关键信息,可以代表所指向的内容,相同指纹可以统计出现次;步骤2:筛选(计数 > 页数 / 2)的指纹集合,查找相应指纹位置的元素;步骤3:遍历备选指纹,如果指纹对应的都是文字元素,则进行步骤4处理;对应均为位图元素则进入步骤5;步骤4:提取该指纹对应的文字,如果相同或满足递增、递减规律则判定为文字水印;步骤5:提取指纹对应的位图,如果相同则判定为图片水印——在以上处理流程中,还涉及通过元素位置坐标参数,生成文本指纹方法;文字元素内容递增递减规律通过差分方法判断;相同图片对比位图md5哈希值判断方法等实施细节。

【技术特征摘要】
1.一种识别PDF文件中水印的方法,其特征在于该方法包括:步骤1:提取PDF文字、位图元素内容及位置信息,根据位置计算指纹并计数;指纹是从内容中(此处即是位置)提取的关键信息,可以代表所指向的内容,相同指纹可以统计出现次;步骤2:筛选(计数>页数/2)的指纹集合,查找相应指纹位置的元素;步骤3:遍历备选指纹,如果指纹对应的都是文字...

【专利技术属性】
技术研发人员:常诚何黎刚陈浩
申请(专利权)人:常诚何黎刚陈浩
类型:发明
国别省市:湖南,43

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

1