CN1908930A - 一种基于克隆块实现自动排版的方法 - Google Patents
一种基于克隆块实现自动排版的方法 Download PDFInfo
- Publication number
- CN1908930A CN1908930A CN 200610112403 CN200610112403A CN1908930A CN 1908930 A CN1908930 A CN 1908930A CN 200610112403 CN200610112403 CN 200610112403 CN 200610112403 A CN200610112403 A CN 200610112403A CN 1908930 A CN1908930 A CN 1908930A
- Authority
- CN
- China
- Prior art keywords
- typesetting
- blocks
- block
- data
- automatic typesetting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000010367 cloning Methods 0.000 title claims description 8
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种基于克隆块实现自动排版的方法,属于印刷前计算机排版领域。现有技术中,自动排版是根据设定的排版对象块的具体类型、位置、大小、数据内容等参数,创建出对应的排版对象块,在版心内依据对象块的大小进行排版,需要设置的版面对象的属性多而复杂,灵活性和一致性差,对排版核心的依赖程度高。本发明所述的方法采用基于XML结构的模板将版面上已存在的块与需要排版的数据进行关联,通过复制对象块的方式得到与所有数据记录相对应的对象块,在指定的排版区域里实现自动排版。采用本发明所述的方法,只需要得到版面对象的唯一标识Id、起始点、宽、高组成的抽象逻辑块,即可进行自动排版,降低了对排版核心的依赖程度,提高了可重复性。
Description
技术领域
本发明属于印刷前计算机排版领域,具体涉及一种基于克隆块实现自动排版的方法。
背景技术
目前,在排版工作中,经常会遇到需要把大量数据排入到版面的相应内容中,这些数据的样式相同,只是内容不同。例如,移动公司所有用户的电话账单,煤气公司所有用户的缴费单,银行所有用户的对账单等等。如果采用人工排版的方法,不仅工作量大,而且容易出错。
本发明所述的自动排版是指把结构相同的批量数据按照预先设计的模板样式和规则自动生成排版结果的计算机排版技术。现有的自动排版技术是根据设定的排版对象块的具体类型、位置、大小、数据内容、样式等参数,创建出对应的排版对象块;进而在版心内依据对象块的大小进行流式横向或者纵向排版。
目前方法存在的主要缺陷是必须充分了解需要自动排版的各种版面对象块的各种属性,需要设置的版面对象的属性繁多而复杂,导致灵活性和一致性差,对排版核心的依赖程度高。而申请人于2002年12月30日提交的“一种自动排版方法”专利申请(申请号02159177.6,公开日2003年6月18日)所公开的一种排版的方法,是将排版系统分为客户端和服务器端并加装模板库,客户端用户输入文稿标题、正文、图片及版面制作模板信息,以及拼版时需要的小版面和拼板模板信息,服务器端用于把客户端输入的制作信息自动加工成客户指定的内容,包括自动制作生成版面和版面拼版两项内容,服务器端自动将加工好的版面和版面拼版反馈给客户端,客户端可以反复修改直到符合要求为止。但是该方法所要解决问题是把多个人的排版结果自动合成一个大版的问题,却不能解决如何把大批量的数据自动排到版面上。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种基于克隆块实现自动排版的方法,该方法能够在利用计算机进行自动排版时不必了解各种版面对象的各种具体的属性,只需要得到版面对象的唯一标识Id、起始点、宽、高,就能由此组成一个抽象的逻辑块,对这些逻辑块进行排版,最后通过块的偏移最终完成自动排版,从而具有很好的灵活性和一致性,最终大大提高自动排版的效率。
为达到以上目的,本发明采用的技术方案是:一种基于克隆块实现自动排版的方法,包括以下步骤:
(1)将需要进行自动排版的数据采用XML语言进行描述;
(2)使用排版引擎设计模板版面,每个模板版面的对象块具有唯一的标识Id,然后采用XML语言描述模板版面,即用逻辑块来描述模板版面的对象块,所述的逻辑块即对象块的逻辑结构;
(3)通过采用XPath技术实现对自动排版数据在模板中的展开,从而得到需要进行自动排版的逻辑块;
(4)通过设置数据内容的接口完成对各自动排版版面对象的数据设置;
(5)在指定的自动排版区域里面,排版模板里面记录的逻辑块,此时是针对一系列方块来完成横向或者纵向的排列,并将排版后各对象块的位置即相对于版心的横坐标和纵坐标写入对应的逻辑块参数;
(6)通过模板所记录的对象块的唯一标识Id,将版面上对应的对象块根据逻辑块中的位置参数进行偏移,从而最后完成自动排版。
进一步来说,步骤(1)中,如果自动排版的数据不是XML格式的数据,则先将其转换为XML格式的数据。
进一步,步骤(2)中所述的逻辑块为文字块、图像块、图形块和表格块。
更进一步,在步骤(2)中所述的逻辑块中记录版面对象块的唯一标识Id、对象块的位置即相对于版心的横坐标和纵坐标、以及对象块的宽度和高度。
再进一步,步骤(2)中记录版面对象块的唯一标识Id时,通过XML的节点属性即databinding来实现对象块与数据记录结构的对应节点的关联。
进一步,步骤(3)中,对于同一数据结构的多条记录展开后模板中会得到多个逻辑块节点,依据数量复制出相应数量的逻辑块。
本发明的效果在于:采用本发明所述的方法,可以在利用计算机进行自动排版时不必了解各种版面对象的各种具体的属性,只需要得到版面对象的唯一标识Id、起始点、宽、和高等参数组成的抽象的逻辑方块,对这些逻辑方块进行排版,最后通过块的偏移最终完成自动排版,既保证了版面对象属性的可靠性,又大大降低了对排版核心的依赖程度,因而具有很好的灵活性和一致性,大大提高自动排版的效率。
附图说明
图1是本发明所述方法的流程图;
图2是模板版面的逻辑结构示意图;
图3是自动排版数据在模板中的展开示意图;
图4是替换文字块和图像块内容后的效果示意图;
图5是版面对象块偏移后的最终效果示意图。
具体实施方式
下面结合具体实施方式和附图对本发明作进一步的描述:
本实施例以制作工作证为例,如图1所示,一种基于克隆块实现自动排版的方法,具体步骤如下:
(1)使用XML语言描述批量数据。对于原始格式不是XML的数据,需转换为XML格式的数据。
本实施例中采用的数据文件原始格式为:
姓名 | 部门 | 职务 | 电话 | 照片 |
张三 | 开发部 | 工程师 | 1501 | zhangsan.jpg |
李四 | 市场部 | 经理 | 1267 | lisi.jpg |
王五 | 财务部 | 会计 | 1359 | wangwu.jpg |
周六 | 行政部 | 总监 | 1201 | zhouliu.jpg |
上述数据用XML语言进行描述后,表现为如下格式的文件:
<人员信息>
<员工>
<姓名>张三</姓名>
<部门>开发部</部门>
<职务>工程师</职务>
<电话>1501</电话>
<照片>zhangsan.jpg</照片>
</员工>
<员工>
<姓名>李四</姓名>
<部门>市场部</部门>
<职务>财务部</职务>
<电话>1267</电话>
<照片>zhangsan.jpg</照片>
</员工>
<员工>
<姓名>王五</姓名>
<部门>财务部</部门>
<职务>会计</职务>
<电话>1359</电话>
<照片>wangwu.jpg</照片>
</员工>
<员工>
<姓名>周六</姓名>
<部门>行政部</部门>
<职务>总监</职务>
<电话>1201</电话>
<照片>zhouliu.jpg</照片>
</员工>
</人员信息>
关于XML语言可以参考XML Base W3C Recommendation 27 June2001。
(2)使用排版系统中的排版引擎设计模板版面,如图2所示,包括文字、图像、图形等内容,并且使每个模板版面对象块具有唯一的标识Id;即用逻辑块来描述模板版面的对象块,所述的逻辑块即逻辑结构;
然后采用XML语言描述本步骤中所述的模板版面的对象块的逻辑结构(即逻辑块),抽象的三种逻辑块即文字块、图像块、图形块来描述模板版面的对象块。逻辑块的描述包括:记录版面对象块的唯一标识Id,块的位置即相对于版心的横坐标x-start、纵坐标y-start,块的宽度width,块的高度height;记录版面对象块的唯一标识Id时,通过节点属性databinding来记录模板版面对象块与XML数据文件中的数据记录结构的对应节点的关联,所述的这种对象块与节点的关联是一一对应的;
(3)采用XPath技术,根据逻辑块的节点属性databinding所记录的与数据文件的关联关系实现对自动排版数据在模板中的展开,从而得到最终需要进行自动排版的逻辑块,对于同一数据结构的多条记录展开后模板中会得到多个逻辑块节点,依据数量复制出相应数量的逻辑块,如图3所示,并将对应的逻辑块的参数写入对应的模板节点之中;把每个逻辑块的Id设置为相同的模板版面对象块的Id,同时根据数据文件的记录内容设置每个逻辑块的内容(对于文字块是文字内容;对于图像块是图像文件名;对于图像块则不设置);对于每个逻辑块,在排版引擎根据逻辑块所记录的Id克隆出一个新的版面对象块,克隆有两种方式:一种是通过调用排版引擎提供的克隆块接口函数来实现,另一种方法是调用排版引擎的对选中的块进行拷贝、粘贴命令来实现克隆。新版面对象块与原有的版面对象块的唯一区别是Id不同;
关于XPath语言可以参考XML Path Language(XPath)Version 1.0W3C Recommendation 16 November 1999。
(4)通过排版引擎的设置数据内容的接口完成对各自动排版版面对象块的数据设置(对于文字块是替换其文字内容;对于图像块是替换图像内容;对于图形块则不用替换),并将对应的逻辑块的参数写入对应的模板节点之中;
(5)在指定的自动排版区域里面,排版模板里面记录的逻辑块,此时是针对一系列方块来完成横向或者纵向的排列,并将排版后各对象的位置(x-start、y-start)写入对应的逻辑块参数,结果如图4所示;
(6)通过模板所记录的块的唯一标识Id,将版面上对应的对象块根据逻辑块中的位置参数进行偏移,从而最后完成自动排版。最终的结果如图5所示。
采用本发明的方法后,对于新的属性可以不在模板文件中增加描述属性;而现有的实现方法需要在模板文件中增加很多的属性来描述块的属性,例如块的旋转放缩,文字的花边底纹等等。而且,通过以上实施例可以看出,本发明可以在利用计算机进行自动排版时不必了解各种版面对象的各种具体的属性,只需要得到版面对象的唯一标识Id、起始点、宽、和高等参数组成的抽象的逻辑方块,对这些逻辑方块进行排版,最后通过块的偏移最终完成自动排版。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
Claims (8)
1、一种基于克隆块实现自动排版的方法,包括以下步骤:
(1)将需要进行自动排版的数据采用XML语言进行描述;
(2)使用排版引擎设计模板版面,每个模板版面的对象块具有唯一的标识Id,然后采用XML语言描述模板版面,即用逻辑块来描述模板版面的对象块,所述的逻辑块即对象块的逻辑结构;
(3)通过采用XPath技术实现对自动排版数据在模板中展开,从而得到需要进行自动排版的逻辑块;
(4)通过设置数据内容的接口完成对各自动排版版面对象块的数据设置;
(5)在指定的自动排版区域里面,排版模板里面记录的逻辑块,此时是针对一系列方块来完成横向或者纵向的排列,并将排版后各对象块的位置即相对于版心的横坐标和纵坐标写入对应的逻辑块参数;
(6)通过模板所记录的对象块的唯一标识Id,将版面上对应的对象块根据逻辑块中的位置参数进行偏移,从而最后完成自动排版。
2、如权利要求1所述的一种基于克隆块实现自动排版的方法,其特征是:步骤(1)中,如果自动排版的数据不是XML格式的数据,则先将其转换为XML格式的数据。
3、如权利要求1所述的一种基于克隆块实现自动排版的方法,其特征是:步骤(2)中所述的逻辑块包括文字块、图像块、图形块和表格块。
4、如权利要求1、2或3所述的一种实现基于克隆块的自动排版的方法,其特征是:在步骤(2)中所述的逻辑块中记录版面对象块的唯一标识Id、对象块的位置即相对于版心的横坐标和纵坐标、以及对象块的宽度和高度。
5、如权利要求1、2或3所述的一种实现基于克隆块的自动排版的方法,其特征是:步骤(2)中记录版面对象块的唯一标识Id时,通过XML的节点属性databinding来实现对象块与数据记录结构的对应节点的关联。
6、如权利要求4所述的一种实现基于克隆块的自动排版的方法,其特征是:步骤(2)中记录版面对象块的唯一标识Id时,通过XML的节点属性databinding来实现对象块与数据记录结构的对应节点的关联。
7、如权利要求1、2或3所述的一种实现基于克隆块的自动排版的方法,其特征是:步骤(3)中,对于同一数据结构的多条记录展开后模板中会得到多个逻辑块节点,依据数量复制出相应数量的逻辑块。
8、如权利要求6所述的一种实现基于克隆块的自动排版的方法,其特征是:步骤(3)中,对于同一数据结构的多条记录展开后模板中会得到多个逻辑块节点,依据数量复制出相应数量的逻辑块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101124030A CN100392641C (zh) | 2006-08-16 | 2006-08-16 | 一种基于克隆块实现自动排版的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101124030A CN100392641C (zh) | 2006-08-16 | 2006-08-16 | 一种基于克隆块实现自动排版的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1908930A true CN1908930A (zh) | 2007-02-07 |
CN100392641C CN100392641C (zh) | 2008-06-04 |
Family
ID=37700041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101124030A Expired - Fee Related CN100392641C (zh) | 2006-08-16 | 2006-08-16 | 一种基于克隆块实现自动排版的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100392641C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894168A (zh) * | 2010-06-30 | 2010-11-24 | 优视科技有限公司 | 移动终端网页页面的排版显示方法及系统 |
CN101295290B (zh) * | 2008-06-11 | 2011-11-09 | 北大方正集团有限公司 | 一种多行文字行中排版的方法 |
CN101989256B (zh) * | 2009-07-31 | 2012-08-01 | 北京大学 | 一种文书文件的排版方法及装置 |
CN102110086B (zh) * | 2009-12-28 | 2012-11-28 | 北大方正集团有限公司 | 一种版面对象随版面自动调整的方法及系统 |
CN105701073A (zh) * | 2015-12-31 | 2016-06-22 | 北京中科江南信息技术股份有限公司 | 版式文件的生成方法及装置 |
CN106610929A (zh) * | 2015-10-26 | 2017-05-03 | 北大方正集团有限公司 | 数字出版的结构化内容文件的排版方法和装置 |
CN110969004A (zh) * | 2019-12-16 | 2020-04-07 | 方正株式(武汉)科技开发有限公司 | 图文自动排版方法及系统、服务器及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622382A (zh) * | 2011-03-14 | 2012-08-01 | 北京小米科技有限责任公司 | 一种网页重排版的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1421669A (zh) * | 2001-11-23 | 2003-06-04 | 善腾太阳能源工业股份有限公司 | 自发诱导对流式热交换器 |
JP2004199545A (ja) * | 2002-12-20 | 2004-07-15 | Sankei Living Simbun Inc | 文書作成校閲システム |
-
2006
- 2006-08-16 CN CNB2006101124030A patent/CN100392641C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295290B (zh) * | 2008-06-11 | 2011-11-09 | 北大方正集团有限公司 | 一种多行文字行中排版的方法 |
CN101989256B (zh) * | 2009-07-31 | 2012-08-01 | 北京大学 | 一种文书文件的排版方法及装置 |
CN102110086B (zh) * | 2009-12-28 | 2012-11-28 | 北大方正集团有限公司 | 一种版面对象随版面自动调整的方法及系统 |
CN101894168A (zh) * | 2010-06-30 | 2010-11-24 | 优视科技有限公司 | 移动终端网页页面的排版显示方法及系统 |
CN101894168B (zh) * | 2010-06-30 | 2013-02-06 | 优视科技有限公司 | 移动终端网页页面的排版显示方法及系统 |
CN106610929A (zh) * | 2015-10-26 | 2017-05-03 | 北大方正集团有限公司 | 数字出版的结构化内容文件的排版方法和装置 |
CN105701073A (zh) * | 2015-12-31 | 2016-06-22 | 北京中科江南信息技术股份有限公司 | 版式文件的生成方法及装置 |
CN110969004A (zh) * | 2019-12-16 | 2020-04-07 | 方正株式(武汉)科技开发有限公司 | 图文自动排版方法及系统、服务器及介质 |
CN110969004B (zh) * | 2019-12-16 | 2023-06-13 | 方正株式(武汉)科技开发有限公司 | 图文自动排版方法及系统、服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100392641C (zh) | 2008-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1908930A (zh) | 一种基于克隆块实现自动排版的方法 | |
CN101430714B (zh) | 一种基于样式的内容结构化加工方法及系统 | |
WO2019095671A1 (zh) | 红头文件的红头模板制作方法、应用服务器及计算机存储介质 | |
CN107145477A (zh) | 一种基于FineReport工具的报表系统 | |
CN1542699A (zh) | 图形用户界面生成方法及系统 | |
CN1808421A (zh) | 一种基于电子版样纸的排版系统及排版方法 | |
CN101017479A (zh) | 一种自动识别数字文档版心的方法 | |
CN101158938A (zh) | 一种基于模板节的表格快速生成系统及方法 | |
CN1834967A (zh) | 集成电路版图的层次网表提取方法 | |
WO2015021737A1 (zh) | 一种将纸质文件转换为电子文件的方法 | |
TWI629602B (zh) | 互動式網頁程式自動產生方法 | |
CN105404636B (zh) | 基于sap系统的纸质单据电子化平台实现方法及系统 | |
CN1945527A (zh) | 可实现代码复用的server版代码生成系统 | |
CN108182236A (zh) | 一种统一配置数据源的web页面下拉列表实现方法 | |
CN1904824A (zh) | 为全球应用创建文化敏感控件的方法和系统 | |
CN111222310A (zh) | 一种不规则表单的录入和展示的方法及系统 | |
CN101430715B (zh) | 一种排版后数据的存储方法和装置 | |
CN1959680A (zh) | 用于创建手册的方法和系统 | |
CN1819646A (zh) | 一种实现节目单协同编辑的方法 | |
CN110110270B (zh) | 一种并行处理的大型族谱世系图的生成方法及装置 | |
CN1510637A (zh) | 一种打印绘制图形化文件的通用方法及动态链接库 | |
CN106846444B (zh) | 一种动画制作系统及制作动画的方法 | |
CN1095574C (zh) | 文档处理系统 | |
CN1409214A (zh) | 名片排版装置与方法 | |
CN112380814B (zh) | 一种基于国产操作系统的信息稿件自动组合编刊方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080604 Termination date: 20190816 |
|
CF01 | Termination of patent right due to non-payment of annual fee |