具体实施方式
下面将参考附图并结合实施例来详细说明本发明。
图1示出了根据本发明实施例的打印作业的过滤方法的流程图,包括:
步骤S10,对作业文件识别公章图元;
步骤S20,对公章图元予以去真性处理;
步骤S30,将处理后的作业文件转换为光栅数据。
现有技术对于打印作业的公章图像不进行过滤,因此恶意者可以随意地输出公章,导致安全隐患。如何从根本上遏制造假的电子公章是一个重要和迫切的任务。公章只有输出到纸质上,才有可能被认可。而本实施例通过对所有的打印输出作业进行公章的提取和比对,对打印作业中的电子公章进行去真处理,从而从根本上杜绝了电子公章的非法打印和输出,可以保证电子公章的安全、阻止了公章文档的非法扩散。
优选地,步骤S10包括:
解析出作业文件的页面内所有图元对象及其相关信息;
寻找相关信息中的面积符合公章范围且面积区域内存在其他元素的图元对象;
对找到的图元对象的面积区域内的所有图元和文字元素的信息进行组织,形成一个元素集合;
将元素集合与预先建立的公章数字模型进行比较;
根据比较的拟合度确定元素集合是否为公章图元。
本优选实施例通过建立公章数字模型,从而可以很容易地从打印作业中识别出公章图像。
优选地,通过对国家规定的公章、发票公章、自定义的电子公章的识别特征的抽象,可以得到多种类型的公章数字模型,包含有如下标准特征值的集合,不同公章类型会拥有各自的标准特征值集合。
外圆半径值;
内圆半径值;
长轴值;
短轴值;
外圆边宽度值;
内圆边宽度值;
五角星边长值;
五角星角度值;
五角星中心点坐标;
国徽中心点坐标;
国徽最大外切圆半径值;
国徽内部是否包含一大四小五角星;
文字字号,即文字外切矩形尺寸;
文字中心坐标;
文字字形,即字体特征;
各相邻文字位置中心点距离;
文字内容;
颜色值,RGB颜色值或CMYK颜色值;
R颜色平均值;
M颜色平均值;
G+B颜色的最大值;
C+Y+K颜色的最大值。
优选地,对于国家明确规定的公章类型,比如各级政府的政府公章、事业单位、国有企业、社会团体公章,根据国务院关于国家行政机关和企事业单位印章的规定,可以严格按照规定中的要求,比如公章外形、尺寸、文字、中央的国徽或五角星(外形和尺寸),抽象出这些公章的数字模型。模型特征至少包含如下信息,
公章为圆型;
公章圆边的宽度在国家规定范围之内;
公章圆边的外半径和内半径在国家规定范围之内;
等边五角星的边长和角度在国家规定范围之内;
国徽的外切边矩形尺寸在国家规定范围之内;
文字自左向右沿近圆形弧度排列,文字中心点到公章圆心的距离相等;
文字中心到圆边内边的距离相等;
文字字形相同为宋体以及文字字号尺寸相同;
文字中心呈等距扇形分布;
文字纵向方向和文字中心点所在的圆半径重叠;
公章的圆边、文字、中央五角星或国徽的颜色值相同,视觉颜色为均一的红色。
优选地,对于国家明确规定的发票印制公章,也可以严格按照规定中的要求,比照公章特征,抽象出发票公章的数字模型。模型特征至少包含如下信息,
发票公章为椭圆形,包含嵌套的双椭圆边;
两条椭圆形边的长半轴和短半轴尺寸严格符合国家税务总局相关印制规定;
两条椭圆形边的宽度尺寸严格符合国家税务总局相关印制规定;
发票公章中文字位置、字号、字形严格符合国家相关印制规定,楷体8磅,上环刻制“全国统一发票监制章”字样,下环分别刻制“国家税务局监制”、“地方税务局监制”字样,中间刻制监制税务机关所在地省(市、区)、市(县)的全称或简称;
发票公章中文字包含的共有内容:全国统一发票监制章,地方税务局监制,国家税务局监制;
发票所有内容为红色。
优选地,也可以导入自定义的电子公章文件,通过预览界面或编辑框界面设置该公章的识别特征,这些识别特别的获取包括两个途径。
一是解码和光栅化导入的电子公章文件,获得光栅化点阵,先通过统计所有像素点的颜色值,可以计算出该公章的颜色平均值来作为颜色特征标准值。然后二值化电子公章点阵并显示到界面中预览区,用户可在预览区标注出要识别的区域,通过像素点的颜色值可以识别出公章各个部分的轮廓,包括圆边、文字等。这个识别过程使用了成熟的OCR技术,这里不再赘述。对这些轮廓信息进行处理可以得到公章中各个有效点的坐标值、文字内容,从而可以进一步计算出公章外形、文字大小、五角星边长等各种识别特征。
二是根据国家对公章的规范要求,对公章的各个部分的轮廓和颜色进行信息的预定义输入,系统根据输入的信息,总结出公章的各种识别特征。
系统根据这些识别特征,从而抽象出相应的数字模型,这些识别特征至少包括如下信息,
公章外形类型,圆形或椭圆形;
圆边数,1条或2条;
圆边宽度;
圆边半径或长短轴尺寸;
中央是否刊有五角星,若有,五角星的星尖直径或边长、角度;
文字字形、字号、分布特征(文字中心点到圆心的距离,弧形等距分布、水平分布);
颜色值,颜色均一,为红色或蓝色;
文字内容,不是必选项;
其他特征,不是必选项。
优选地,在比较过程中,考虑到普通人对公章的识别差异,可以对公章的特征进行适当的拟合冗余,并创建如下的拟合度参数,拟合度就是待过滤公章的特征值与公章数字模型中的标准值匹配程度,1为完全匹配,0为完全不匹配,有拟合度计算公式为:拟合度=(待过滤公章的特征值)/(公章数字模型中的标准特征值)。对于一个公章类型可以设定如下的拟合度参数,同时设定一个拟合度的最小值nMin,拟合度的范围就是nMin-1。设定如果拟合度<nMin,可以认为公章的总拟合度为0,该公章不需要过滤,输入用户可以肉眼识别范围。
外形拟合度,包括半径尺寸拟合度,圆边宽度拟合度,中央刊图形(五角星或国徽)拟合度;
文字拟合度,包括文字位置、字形、字号、分布方式等四个方面拟合度,还有可选的文字内容拟合度;
颜色拟合度,包括颜色均一性拟合度、颜色值拟合度。
对于拟合度的标准计算方法,定义如下:
待过滤公章的拟合度=(外形拟合度*系数1+文字拟合度*系数2+颜色拟合度*系数3)/3,其中系数1+系数2+系数3=1,系数1、系数2和系数3是小于1的小数,用户可以自定义。另外,设定当外形拟合度、文字拟合度、颜色拟合度中有一个拟合度为0,则整个的拟合度即为0。
外形拟合度=半径尺寸拟合度*圆边宽度拟合度*中央刊图形拟合度;
其中,半径尺寸拟合度=待过滤公章的外圆半径值/模型的外圆半径标准值(公章为圆形时);
半径尺寸拟合度=(待过滤公章的外圆长轴半径值/模型的外圆长轴半径标准值)*(待过滤公章的外圆短轴半径值/模型的外圆短轴半径标准值)(公章为椭圆形时);
圆边宽度拟合度=(待过滤公章的外圆半径值-待过滤公章的内圆半径值)/模型的圆宽度标准值(公章为圆形时);
圆边宽度拟合度=(待过滤公章的外圆长轴半径值-待过滤公章的内圆长轴半径值)/模型的圆宽度标准值(公章为椭圆形时);
中央刊图形拟合度=中心点拟合度*中央刊图形外形拟合度;
中心点拟合度=X方向拟合度*Y方向拟合度;
X方向拟合度=1-(X1-X2)的绝对值/MinX,如果(X1-X2)的绝对值>MinX,则X方向拟合度=0;
Y方向拟合度=1-(Y1-Y2)的绝对值/MinY,如果(Y1-Y2)的绝对值>MinY,则Y方向拟合度=0;
其中中央刊图形中心点的X坐标=X1,
公章中心点的X坐标=X2;
X方向的最小冗余=MinX;
中央刊图形中心点的Y坐标=Y1,
公章中心点的Y坐标=Y2;
Y方向的最小冗余=MinY;
中央刊图形外形拟合度=五角星外形拟合度(中央刊图形为五角星时);
中央刊图形外形拟合度=国徽外形拟合度(中央刊图形为国徽时)。
五角星外形拟合度=边长拟合度*角度拟合度;
边长拟合度=(边长平均值/模型的五角星边长标准值)*边长均一性,
其中,边长均一性=1-(MaxL-MinL)/nD,如果(MaxL-MinL)>nD,则边长均一性为0;
五角星10条边的最大边长值=MaxL,;
五角星10条边的最小边长值=MinL,;
边长冗余=nD。
国徽拟合度=国徽内五角星拟合度*国徽外切矩形拟合度;
国徽外切矩形拟合度=(矩形宽/模型的国徽外切矩形标准宽)*(矩形高/模型的国徽外切矩形标准高);
国徽内五角星拟合度,以国徽内部是否包含1大4小的五角星来确定,包含拟合度为,反之为0。
文字拟合度=文字位置拟合度*字号拟合度*分布方式拟合度*1(或可选字形拟合度)*1(或可选文字内容拟合度);
其中,文字位置拟合度=待过滤公章内的每个文字的中心点坐标与模型中位置最接近的文字中心坐标的距离,计算方式可以参考中央刊图形的中心点拟合度的计算方法。
字号拟合度,就是待过滤公章内的每个文字轮廓的外切矩形与模型中位置最接近的文字轮廓的外切矩形的宽和高的差值,计算方式可以参考国徽外切矩形拟合度的计算方法。
分布方式拟合度,待过滤公章内的任两个相邻文字的中心点之间的距离最大值与最小值之间的差与冗余距离的比值,计算方式可以参考五角星边长均一性的计算方法。
颜色拟合度=颜色均一性拟合度*颜色值拟合度;
其中,颜色均一性拟合度=1-MC/MA,
另,如果MC>MA,则颜色均一性拟合度为0,
如果待过滤公章的各部分的颜色均为同一个专色,则颜色均一性拟合度为1,
如果待过滤公章的各部分的颜色不是同一个专色,则将其转为CMYK,然后计算出所有C、M、Y和K色面中不为0的像素点的颜色值的总和,记为MA,再计算出所有C、Y和K色面中不为0的像素点的颜色值的总和MC,就可以得到颜色均一性拟合度。可以根据输出设备的特性确定一个阈值,当颜色均一性拟合度<该阈值时,可以认为公章颜色不均一,不具备真实性,颜色均一性拟合度设为0。
颜色值拟合度=所有非空白像素点的M版色面颜色值的平均值/nV,如果颜色值拟合度<1,则需置为0。nV是保证输出颜色为红色的最低颜色值。
优选地,步骤S20包括以下至少一种操作:删除公章图元;在公章图元上覆盖标识;修改公章图形的颜色。
自动删除公章,即在原有公章位置使用空白替代;
自动覆盖文字水印,可以在原有公章之上覆盖有颜色值为(CMY0,K175)、10磅、宋体的文字,内容为“无效章”;
自动修改公章的颜色可以为黑色(C0M0Y0K255)。
这使得打印作业不能输出公章,或者输出的公章能被他人明显识别出是假的。
优选地,本方法还包括:提供界面,接受用户对操作的选择。例如,在屏幕上显示三种处理机制的选项,用户可以选择任一种处理机制,这更好地满足了用户的需求。
图2示出了根据本发明实施例的打印作业的过滤装置的示意图,包括:
识别模块10,用于对作业文件识别公章图元;
去真模块20,用于对公章图元予以去真性处理;
转换模块30,用于将处理后的作业文件转换为光栅数据。
本装置可以保证电子公章的安全、阻止了公章文档的非法扩散。
优选地,识别模块用于将PostScript或PDF中获取的图元元素或元素集合与公章模型进行拟合度的比较,并识别是否有需要过滤的公章存在。识别模块10包括:解析模块,用于解析出作业文件的页面内所有图元对象及其相关信息;寻找模块,用于寻找相关信息中的面积符合公章范围且面积区域内存在其他元素的图元对象;组织模块,用于对找到的图元对象的面积区域内的所有图元和文字元素的信息进行组织,形成一个元素集合;比较模块,用于将元素集合与预先建立的公章数字模型进行比较;确定模块,用于根据比较的拟合度确定元素集合是否为公章图元。
如图3所示,识别模块将作业接收和控制模块中识别出来的图元信息进行甄别和组合,并与已经建立的公章抽象模型进行匹配,并将匹配结果返回给作业接收和控制模块。包含公章的电子文件要输出打印总是需要一个光栅化处理器先转换为打印机、照排机或CTP等输出设备能够识别的设备数据,电子文件中的公章总是以独立图元对象或者一组图元、文字对象组合的描述形式存在,识别模块就是嵌入到光栅化处理器的一个Plugin模块,光栅化处理器对包含公章的电子文件进行处理时,通过调用识别模块来对可疑的图元或图元组合对象进行识别,并返回识别结果。
本装置还可以包括公章设置模块,如图4所示,用于指定需要过滤的公章类型,比如党章、公司法人章、公司合同章、国家税务章等,并根据公章类型生成过滤系统需要的公章特征模型以及拟合度标准;同时定义对于需要过滤的公章的处理机制,比如删除、加水印或更改颜色等。
本装置还可以包括作业接收和控制模块,接收用户通过打印驱动或作业提交工具提交的作业,将接收的作业进行解析,将识别出的需要过滤的公章按照公章设置模块中设置的处理机制进行处理。
如图5所示,本公章过滤装置的工作流程如下:
光栅化处理器读取电子文件(即作业文件),电子文件可以是PostScript文件,也可以是PDF文件;
解析出一页内所有图元对象及其相关信息,包括坐标、颜色、类型、面积等;
然后找出面积符合公章范围且面积区域内存在其他元素的圆和椭圆的图元对象,并对圆和椭圆的面积区域内的所有图元和文字元素的信息进行组织,形成一个元素集合;
调用识别模块,并将包含了该区域内所有元素的相关信息的元素集合传给识别模块,并由识别模块计算出相关的拟合度数据(计算方法同标准公章的拟合度),根据公章设置模块中设置的公章拟合度标准进行公章拟合度的判断,并返回是否是公章。
作业接收和控制模块接收用户通过打印机驱动打印过来的PostScript流并保存为PostScript文件并提交给光栅化处理器(又称RIP),或者将用户在界面上选择的PostScript或PDF文件直接提交给光栅化处理器,光栅化处理器解析PostScript或PDF文件,在一页结束调用前识别模块来判断该页内容中是否有公章存在,根据识别模块返回的结果对公章图元或图元组合按照公章设置模块中定义的处理机制进行处理,比如删间除公章,也就是光栅化的时候不生成公章图元的光栅化数据,比如覆盖文字水印,就是在公章图元之上覆盖上文字以防止公章被错误使用,比如修改公章的颜色为黑色(C0M0Y0K255)。
从以上的描述中可以看出,本发明上述的实施例可以应用于例如打印机、照排机、CTP、打印服务器以及其他这样的系统。本发明可以保证电子公章的安全、阻止了公章文档的非法扩散。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。