具体实施方式
本发明实施例,提供了一种自动拼版方法及装置。用以从版面的页面描述文件中获取该版面的报眉线的位置信息,以此作为自动拼版时计算版面位置的参考,使所有并排拼在一个大版上的各版面的报眉线处于同一水平线上。从而提高自动拼版的效率以及拼版结果的精确度,优化整个印前处理流程。
下面以报纸为例,对本发明实施例提供的具体方法进行介绍。
参见图2,本发明实施例提供的具体方法包括以下步骤:
S201、用户设置报纸版面的报眉线的位置条件,以及报纸版面的报眉线在大版上的位置。
所述位置条件,用于查找待拼版的版面的报眉线,本发明实施例中通过对待拼版的版面的页面描述文件中的直线、矩形、贝塞尔曲线的操作符和操作数进行扫描,以确定该版面的报眉线。因此,所述位置条件具体可以包括报眉线可能的位置范围,以及报眉线的最小长度。例如,参见图3,以版面下沿为起点,整个版面高度为1,设置报纸的报眉线的位置在0.9至0.98之间,即图中斜线范围内。报眉线的最小长度可以设为整个版面宽度的80%,具***置可以居中,也可以靠左或靠右对齐等。所述位置条件,进一步包括扫描所得的直线、贝塞尔曲线必须为水平线,即起止点纵坐标相等;扫描所得的矩形必须有两条边为水平线。
所述报眉线在报纸版面的页面描述文件中可能被描述为直线、矩形或贝塞尔曲线(Cubic Bézier Curves)。
所述报眉线在大版上的位置,由用户在拼版模版中设置。在对版面进行拼版时,根据上述查找到的版面的报眉线的位置,以及所述用户设置的报眉线在大版上的位置,对版面在大版上的垂直位置进行调整,以使版面的报眉线的垂直位置与报眉线在大版上的垂直位置相等,即在同一大版上的各个版面的报眉线位于同一水平线上。例如,参见图4,在拼版模版中,大版高度为530毫米,可以设置版面报眉线在大版上的高度为495毫米。
下面开始查找版面的报眉线,并确定报眉线的位置。
S202、初始化版面报眉线的位置,例如,以版面左下角为坐标原点,初始化报眉线高度为-1。
S203、对版面的页面描述文件中的直线、矩形、贝塞尔曲线的操作符和操作数进行扫描,得到图形及该图形的位置,用以判断在该版面中出现的图形中哪个是报眉线。扫描版面页面描述文件(本发明实施例以页面描述文件的格式为PDF格式为例)中的直线操作符l,矩形操作符re,以及贝塞尔曲线操作符c、v、y。如果遇到这样的操作符,且其后面跟有绘制操作符时,则计算出该图形的坐标。然后,通过当前转换矩阵(CTM),将该坐标转换到统一的设备坐标空间里。其中,为了简化,可以将re操作符转为等效的m、l、h操作符加以处理,即分解为对四条直线的处理。
所述页面描述文件,可以为PS(PostScript)或可移植文档格式(PDF,Portable Document Format)等用来描述页面文本、图形、图像外观的文件。
上述m、l、h操作符,是PDF规范中定义的标准路径构造操作符(Pathconstruction operators),它们的作用如下:
m:将当前点(current point)移至指定坐标位置,开始构建新的路径(path)。
l:从当前点(current point)向指定坐标画一条直线,并将当前点(currentpoint)移至指定坐标位置。
h:从当前点(current point)向当前路径(current path)的起始点画一条直线,从而使当前路径闭合。
re:画一个矩形。
由此可见,一个画矩形的re操作可以分解为画四条直线的m、l、h操作,例如:
x y width height re:以(x,y)为左下角,画一个宽为width、高为height的矩形。可以转换为:
xym:将当前点移至(x,y),开始构造路径;
(x+width)yl:从(x,y)向(x+width,y)画直线;
(x+width)(y+height)l:从(x+width,y)向(x+width,y+height)画直线;
x(y+height)l:从(x+width,y+height)向(x,y+height)画直线;
h:从(x,y+height)向(x,y)画直线闭合当前路径,完成矩形的绘制。
S204、判断得到的图形是否为直线、矩形或贝塞尔曲线,如果是,则进行步骤S205;否则,返回步骤S203,继续扫描其他图形。
S205、判断得到的图形的位置是否符合步骤S201中设置的位置条件,如果是,则进行步骤S206;否则,返回步骤S203。
S206、判断得到的图形的垂直坐标是否最大,如果是,则进行步骤S207;否则,返回步骤S203。符合步骤S201中设置的位置条件的图形可能有多个,本步骤是为了得到所有符合步骤S201中设置的位置条件的图形中,位置最高的图形,将该图像确定为版面的报眉线。
S207、将得到的图形作为版面的报眉线,该图形的位置作为版面的报眉线位置。
S208、判断对所述版面的扫描是否结束,如果是,则进行步骤S209;否则,返回步骤S203。
S209、计算版面在大版上进行拼版的具***置。
结束报眉线的识别过程后,根据报眉线在版面上的位置,以及步骤S201中设置的报眉线在大版上的位置,计算版面在大版上的位置,完成自动拼版。如果报眉线位置仍在版面之外,则认为在该版面上没有找到报眉线。
所述自动拼版,先按照拼版模版计算每个版面小页在大版上的位置,然后,保持版面水平方向上的位置不变,对版面位置进行垂直方向的调整,使得版面的报眉线与步骤S201中设置的报眉线在大版上的位置重合,记录此时版面在大版上的位置,完成自动拼版过程。
通过上述具体实施例的介绍,参见图5,可以得出,本发明实施例提供的方法总体包括以下步骤:
S501、确定待拼版的版面的报眉线位置。
S502、根据待拼版的版面的报眉线位置,以及预先设置的待拼版的版面的报眉线在大版上的位置,确定所述待拼版的版面在所述大版上的位置。
S503、根据待拼版的版面在所述大版上的位置,对所述待拼版的版面进行拼版。
下面介绍一下本发明实施例提供的装置。
参见图6,本发明实施例提供的一种自动拼版装置包括:版面报眉线位置确定单元61、版面位置确定单元62和拼版单元63。
所述版面报眉线位置确定单元61,用于存储预先设置的待拼版的版面的报眉线的位置条件,对待拼版的版面的页面描述文件进行扫描,确定符合所述位置条件,并且垂直坐标最大的图形位置,将该图形位置确定为所述待拼版的版面的报眉线位置。
较佳地,所述位置条件包括:报眉线在版面上的位置范围,以及所述报眉线的最小长度。
所述版面位置确定单元62,用于根据待拼版的版面的报眉线位置,以及预先设置的待拼版的版面的报眉线在大版上的位置,确定所述待拼版的版面在所述大版上的位置。
所述扫描是按图形的操作符在待拼版的版面的页面描述文件中出现的顺序进行的。
较佳地,待拼版的版面的报眉线的垂直位置,与预先设置的待拼版的版面的报眉线在所述大版上的垂直位置相同。
所述拼版单元63,用于根据所述待拼版的版面在所述大版上的位置,对所述待拼版的版面进行拼版。
综上所述,本发明实施例,可以针对报纸拼版的特殊要求,根据待拼版的版面的报眉线位置,以及预先设置的待拼版的版面的报眉线在大版上的位置,对拼版结果进行自动调整,从而省去了中断流程进行人工调整的工作环节,有效地提高了工作效率、降低了生产成本。并且,避免了人工调整版面可能带来的错误,降低了人为的操作风险,提高了拼版结构的精确程度,对报纸的拼版印刷有着较强的实际意义。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。