一种跨媒体自动排版系统及其方法

文档序号:8943035阅读:438来源:国知局
一种跨媒体自动排版系统及其方法
【技术领域】
[0001]本发明涉及计算机排版领域,尤其是一种跨媒体自动排版系统及其方法,能根据版面尺寸对内容进行自动排版方法。
技术背景
[0002]随着网络技术的不断发展,人们的阅读习惯不再局限于传统的纸质出版物阅读,数字出版物阅读量比重逐渐加大。
[0003]目前书籍等纸质出版物的排版流程:出版社收到作者文稿后先交于专业排版人员用方正或Adobe的专业排版软件进行排版,排版后打印成纸质书稿给编辑审稿。编辑的任何修改,都得在纸质书稿上批注,由专业排版人员来修改,最终使版面布局规范化的视觉效果。但如此反复,既耽搁时间,浪费纸张,也容易造成人为失误。
[0004]并且,随着移动互联网技术的发展以及移动智能终端的普及,数字出版物越来越受到广大用户的关注。而目前出版社需要与产业链下游的技术平台一起合作完成数字出版物。技术平台需要根据提供的内容资源进行二次加工才能输出于各大媒体上。这种方式虽能有效解决数字出版物的制作及发布,但是制作周期会有所延长,也可能造成人为误差。
[0005]另外,由技术平台编程实现的数字出版物并没有有效控制排版禁则问题,在一些媒体终端上仍会出现背题、单字成行,单行成页等不规范排版问题。这在很大程度上影响了可阅读性以及美观度。

【发明内容】

[0006]针对现有技术中存在的缺陷,本发明的目的在于提供一种跨媒体自动排版系统及其方法。
[0007]本发明解决其技术问题所采用的技术方案具体如下:
[0008]—种跨媒体自动排版系统,包括开版模块、自适应映射模块、自适应排版模块和自动保存输出模块。
[0009]所述的开版模块能够依据媒体终端类别,确定阅读器当前版面的尺寸、分栏、边距、出血、辅助线;根据已确定的版面尺寸、边距确定正文字体字号、标题字体字号,从而根据字号确定行距、段前距与段后距,同时根据已确定的版面尺寸确定图像绕排方式、图像的上下左右间距;
[0010]所述的不同媒体终端的版面尺寸需要确认。不同媒体终端包括iPad、iPhone和纸质书籍;具体的:iPad尺寸为2048X1536px,iPhone尺寸为960 X 640px,纸质书籍开本尺寸为 185X260mm。
[0011]所述的iPad和iPhone数字出版物无需设定出血、辅助线,只需设定单页;对于书籍纸质出版物需设定出血与辅助线,同时需要设定双页。
[0012]根据欲排版模板中各个对象所设定的标签信息,确定出各个对象的样式(包括对象样式和段落样式),从而将标签信息与对应的样式逐一映射,最终将标签信息与样式紧密联系,为自动放入阅读器页面做铺垫。
[0013]所述的欲排版模板是开版模块中自动生成的文本框;
[0014]自适应排版模块根据已映射的欲排版模板中各对象所设定的标签信息,通过设定选项,将标签信息自动排入所述欲排版模板对应的布局区域中。
[0015]所述的自动保存输出模块将排完的内容自动保存至相应的格式文档,并将已保存的文档传输到各个媒体终端上。例如纸质书籍保存为PDF格式,电子文档保存为EPUB格式。
[0016]—种跨媒体自动排版方法,具体包括如下步骤:
[0017]步骤1、创建开版
[0018]所述的开版模块能够依据媒体终端类别,确定阅读器当前版面的尺寸、分栏、边距、出血、辅助线;根据已确定的版面尺寸、边距确定正文字体字号、标题字体字号,从而根据字号确定行距、段前距与段后距,同时根据已确定的版面尺寸确定图像绕排方式;
[0019]根据输出目的创建版面类型及字号的过程如下:
[0020]1-1.对于不同的媒体终端,确定其不同的版面尺寸;不同的媒体终端包括iPad、iPhone和纸质书籍;具体的:iPad尺寸为2048X1536px,iPhone尺寸为960 X 640px,纸质书籍开本尺寸为185 X 260mm。
[0021]1-2.对于iPad、iPhone数字出版物无需设定出血、辅助线,而对于书籍纸质出版物需设定相应的出血与辅助线;对于非打印的出版物只需设定单页,而对于需打印的书籍出版物需设定双页。
[0022]1-3.根据多次试验与视觉对比,给iPad、iPhone、纸质书籍分别创建了一套较合适的正文字体字号、标题字体字号、题注字体字号。
[0023]1-3-1.对于iPad、iPhone、纸质书籍的段落样式,其确定方法如下:
[0024]获取正文字体字号stlzw.pointSize,则行距 stlzw.leading 如下:stlzw.leading = stlzw.pointSize X 1.5,一级标题的段前距 stlBTl.spaceBefore 和段后距 stlBTl.spaceAfter 分别为:stlBTl.spaceBefore = stlzw.1eadingXn ;stlBTl.spaceAfter = tlzw.1eadingXm ; 二级标题的段前距 stlBT2.spaceBefore 与段后距stlBT2.spaceAfter 分别为:stlBT2.spaceBefore = stlzw.leadingXn/2 ;stlBT2.spaceAfter = stlzw.leadingXm/2 ;三级标题的段前距 stlBT3.spaceBefore 与段后距 stlBT3.spaceAfter 分别为:stlBT3.spaceBefore = stlzw.leadingXn/3 ;stlBT3.spaceAfter = stlzw.leadingXm/3,以此类推。
[0025]1-4.自定义的版面尺寸wXh,需与iPad、iPhone、纸质书籍三种版面尺寸进行比较。获取iPad的版面尺寸waXha,iPhone的版面尺寸WciXhci,纸质书籍的版面尺寸为WbXhb;具体比较方法包括:
[0026]1-4-1.若wXh彡wbXhb,其段落样式以纸质书籍的段落样式为准。
[0027]1-4-2.若wXh〈wbXhb且wXh彡w aXha,其段落样式以iPad媒体的段落样式为准。
[0028]1-4-3.若wXh〈waXhJ^L wXh彡WciXhci,其段落样式以iPhone媒体的段落样式为准。
[0029]1-5.根据多次试验与视觉对比,给iPad、iPhone、纸质书籍分别创建一套对象样式。对于自定义的版面尺寸wXh,则与iPad、iPhone、纸质书籍三种版面尺寸进行比较。获取iPad的版面尺寸waXha,iPhone的版面尺寸WciXhci,纸质书籍的版面尺寸为wbXhb。具体比较方法包括:
[0030]1-5-1.若wXh彡WbXhb,其对象样式以纸质书籍的对象样式为准。
[0031]1-5-2.若wXh〈wbXhb且wXh彡w aXha,其对象样式以iPad媒体的对象样式为准。
[0032]1-5-3.若wXh〈waXhJ^L wXh彡WciXhci,其对象样式以iPhone媒体的对象样式为准。
[0033]步骤2、建立自适应映射
[0034]根据欲排版模板中各个对象所设定的标签信息,确定出各个对象的样式(包括对象样式和段落样式),并将标签信息与对应的样式逐一映射,最终将标签信息与样式紧密联系,为自动放入阅读器页面做铺垫。
[0035]标签信息与样式自适应映射具体步骤如下:
[0036]2-1.自动获取XML标签信息,包括标题、正文、图像、图注,每一条标签都有自己的署名,具体的标签署名为标题BT、正文ZW、图像Image、图注Capt1ns。
[0037]2-2.根据标签的署名寻找同命名的样式,例如标题BT寻找对应的段落样式BT,正文ZW寻找对应的段落样式ZW,图像Image寻找相对应的对象样式Image。
[0038]2-3.将标签信息与同命名的样式进行映射,即将同命名的样式映射到相对应的XML标签。
[0039]步骤3、进行自适应排版
[0040]自适应排版模块根据已映射的欲排版模板中各对象所设定的标签信息,通过设定选项,将标签信息自动排入所述欲排版模板对应的模块中。XML标签需从数据库中获取,图像需从图像素材库中获取。
[0041]将标签信息自动排版至已设定欲排版模板的版面中,其具体如下:
[0042]3-1.从数据库中自动导入XML结构文档,获得XML标签个数,计算标签总数。
[0043]3-2.按顺序读取标签,判断标签类型,若标签为文本标签,具体操作如下:
[0044]3-2-1.提取文本标签信息,选择欲排版模块,自动排入区域中,并应用同署名的段落样式。
[0045]3-2-2.自动反馈排入区域的文本信息,判断是否出现如下不规范问题:文本背题、标点避头尾、单字、单行,并及时解决出现的问题,具体操作如下:
[0046]3-2-2-1.自动查询是否有少于一个单字成一行,当为单字成行时,判断单字字符数值,若大于4个字符数,加大上行的字间距,将上行分离的字符移动到该行;反之,利用标点挤压方式减少上行的字间距,将该行的字符移动到上行;
[0047]3-2-2-2.自动查询欲排版模块中是否有一页或一个模块起始段落只有一行内容,当为单行成页时,先定位于前一段落,并调整该段落的行距,逐步调整直至将内容缩至前一段;若行间距超出该范围,再需往上定位,并调整该段落行间距,逐步调整直至将内容缩至前一段;以此类推,需将单行内容缩至前一段;
[0048]3-2-2-3.自动查询指定的标题和标题后衔接的内容是否在同一页或同一模块中,当背题的标题在页末,增大标题的段前距,将标题放置于下一页或下一模块中;
[0049]3-2-2-4.自动查询已排的文本信息中标点是否存在行首,以及‘和“两个标点符号是否存在行尾;当出现不当的标点时,增大上行的字间距,将上一行的字符移动到该行,从而减少上行的字间距或标点挤压,将该行的字符移动到上一行;
[0050]3-3.继续读取下一标签,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1