一种电子文档分页打印方法技术

技术编号:2830147 阅读:638 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种电子文档分页打印方法,其包括:A.确定当前打印纸张和电子文档待打印页面的尺寸,初始化当前待打印页面起始位置和终止位置;B.判断待打印页面是否小于等于打印纸张尺寸,如果是,转入步骤F,正式打印,否则转步骤C;C.对超出页面边缘的基本单元应用预先设置的切分规则进行切分,计算切分后待打印页面的最终偏移量,其中切分线是打印页面的终止位置;D.根据当前页面终止位置、当前最终偏移量和打印纸张高度确定当前页切分之后下一个待打印页面的起始和终止位置,转步骤B;E.根据获取的参数正式打印页面。应用本发明专利技术,使得打印页面上穿过切分线的基本单元能够完整而且美观的在不同的页面显示。

【技术实现步骤摘要】

本专利技术涉及电子文档的打印技术,特别是指。
技术介绍
在打印电子文档时,文档上面会出现各种基本单元,例如Windows等操 作系统支持的电子文档包含的基本单元和书生国际公司开发的电子文档包含 的各种基本单元。打印这些电子文档的基本流程如图1所示,首先装载文档 文件,然后构建打印框架实现打印功能并进行打印。由于电子文档在填写时 会动态地增长,因此在打印时会出现需要分页打印,位于页面边缘的基本单 元需要分页显示的情况,在以微软的Office为代表的支持处理电子文档的软 件中, 一般是把超出本页打印范围的基本单元整体安排在下一页显示并打印, 但是这种处理方法使得文档在整体浏览方面不直观,破坏了整个文档页面的 结构;书生国际公司原有的打印方法,具有支持微软Office软件的打印技术 的特点,并开发出了自己的打印技术,但是在处理分页打印方面,也存在和 Office类似的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供,实现把 超出当前页打印范围的基本单元依据本专利技术定义的切分规则进行切分并打 印。,包含以下步骤-A. 确定当前打印纸张和电子文档待打印页面的尺寸,初始化当前待打印 页面起始位置和终止位置;B. 判断待打印页面是否小于等于打印纸张尺寸,如果是,转入步骤E, 正式打印,否则转步骤C;C. 对超出页面边缘的基本单元应用预先设置的切分规则进行切分,计算 切分后待打印页面的最终偏移量,其中切分线是打印页面的终止位置;D. 根据当前页面终止位置、当前最终偏移量和打印纸张高度确定当前页 切分之后下一个待打印页面的起始和终止位置,转步骤B;E. 根据获取的参数正式打印页面。该方法所述步骤B之前进一步包括,将电子文档页面的坐标系转化为打 印的预览视图的坐标系。该方法所述步骤C根据切分规则确定待打印页面的最终偏移量的过程中,进一步包括Cl.初始化当前切分线偏移量;C2.如果切分线不分割任何基本单元,转步骤C6;否则取切分线上的第 一个基本单元;C3.判断该基本单元如果是容器基本单元且包含子基本单元,则转步骤C4;如果该基本单元不是容器基本单元或该基本单元是容器基本单元但不包 含子基本单元,则应用预先设置的切分规则切分该基本单元,切分线偏移量取该基本单元切分后的偏移量,判断如果切分线偏移量改变,转步骤C2,否 则转C5;C4.枚举该容器基本单元中被切分线分割的子基本单元,判断如果子基本单元是容器基本单元且包含子基本单元,则递归枚举其被切分线分割的子基本单元;如果存在不是容器基本单元的子基本单元或不再包含子基本单元的容器 子基本单元,且该子基本单元的偏移量不等于切分线偏移量,则切分线偏移 量取该子基本单元的偏移量,转步骤C2,否则转步骤C5;C5.判断如果切分线上仍存在被分割的基本单元,枚举下一个被切分线 分割的基本单元,转步骤C3,否则转步骤C6;C6.输出切分线偏移量为最终偏移量。该方法中,如果待打印页面存在页眉或页脚,则所述步骤D之前进一步 包括(1).初始化待打印页面的页眉和页脚的偏移参数,判断是否存在页眉,如果存在,则转步骤(2),否则转步骤(3);(2) .判断当前打印范围是否包括页眉,如果是,修改偏移参数,否则转 步骤(3);(3) .判断是否存在页脚,如果存在,修改偏移参数,否则当前偏移参数 为最终结果;该方法所述步骤E进一步包括当前已打印页面数累加1,判断是否还 存在待打印页面,如果存在,继续打印,否则返回已打印页面数。该方法在Windows平台上利用标准插件实现时,所述标准插件至少包括 对象链接与嵌入插件,对象链接和嵌入控制扩展插件,ActiveX插件。该方法所述步骤C2或C3分别进一步包括,判断当前基本单元的类型, 根据其类型选择切分规则确定当前基本单元的偏移量。该方法所述切分规则具体包括普通基本单元的切分规则;文本框的切 分规则;表格和复选框的切分规则;直线、圆形、矩形的切分规则;同一条 切分线上的基本单元取最大偏移量的原则;最大化显示的原则;基本单元相 对位置不变原则和外边框延伸原则。该方法所述普通基本单元的切分规则是基本单元在一个页面不能完全 显示时,偏移到下一个页面。该方法所述TextBox基本单元的切分规则是单行显示的TextBox基本 单元和多行显示但高度低于规定数值的TextBox基本单元遵循普通基本单元 切分规则;多行显示但高度高于规定数值的TextBox基本单元遵循以下规则: 如果基本单元内的文本信息能够完整显示则不做偏移;如果基本单元内的文 本信息被截掉一部分,需要将截掉的文本行偏移到下一页。该方法所述Table和Repeat基本单元的切分规则包括切分线在电子文 档中的表格实体上、切分线在表头、切分线在表尾三种情况。该方法所述表格和复选框基本单元中,切分线在表格实体上的切分规则是a.有表尾的情况将切分线向上作表尾高度距离的偏移, al.若切分线已经偏移出表格实体,则表格连同表头偏移到下一页显示; a2.将切分线向上作表尾高度距离的偏移,若切分线还在表格实体内, 如果此时切分线没有切分表格行,例如切分线恰好和表格线重合,则上一页显示此切分线之上的单元格;如果此时切分线切分到表格行,取出被切分线 切分的当前行,按照TextBox基本单元的切分规则处理;如果此时单元格内 还有基本单元的话,参考相应基本单元的切分规则处理; b.没有表尾的情况依照规则al和规则a2处理。该方法所述表格和复选框基本单元中,切分线在表头的切分规则是整个表格连同表头和表尾一起偏移到下一页显示该方法所述表格和复选框基本单元中,切分线在表尾的切分规则是将 切分线向上作表尾高度距离的偏移,按照规则al和规则a2处理。该方法所述直线、圆形、矩形基本单元的切分规则是按照切分线被切 分的两部分分别在两页中显示。该方法所述同一条切分线上的基本单元取最大偏移量的原则是同一条 切分线上可能会有多个基本单元存在,最终偏移量取各个基本单元的偏移量 的最大值。该方法所述最大化显示的原则是初始切分线上的基本单元在分页显示 时,根据本身计算的切分线位置之上的内容应该在上一页中显示,不必遵循 最终切分线的位置来处理。该方法所述基本单元相对位置不变原则和外边框延伸原则是被切分在 两页显示的,尤其是在水平方向有交错的基本单元,它们之间的相对位置应 该保持不变;当基本单元因为各子切分线的位置不同而在第二页有错位时, 应该将基本单元拉伸以匹配周围基本单元,己经在上一页显示过的内容信息 没有必要在下一页重复显示。该方法中,所述电子文档是电子表单时,所述基本单元是标准控件。该方法中,如果所述切分线不断调整后导致页面大小小于预先设定的数 值,则对页面直接进行切分而不再做调整。本专利技术的电子文档分页打印方法,实现了本专利技术预先定义的切分规则的 技术手段,解决了原有技术中,把超出本页打印范围的基本单元整体安排在 下一页显示并打印,而导致的文档整体浏览不直观,整个文档页面结构被破 坏的情况。并且本专利技术的技术可以在多种操作系统平台支持的标准插件中实 现,减少了实现本专利技术的模块和原来实现打印功能的软件之间的耦合性。附图说明图1为打印的基本流程示意图2为Windows支持的MFC打印框架示意图3为打印页面的计算流程示意图4为根据切分线取最终偏移量的流程示本文档来自技高网...

【技术保护点】
一种电子文档分页打印方法,其特征在于,包含以下步骤:A.确定当前打印纸张和电子文档待打印页面的尺寸,初始化当前待打印页面起始位置和终止位置;B.判断待打印页面是否小于等于打印纸张尺寸,如果是,转入步骤E,正式打印,否则转步骤C;C.对超出页面边缘的基本单元应用预先设置的切分规则进行切分,计算切分后待打印页面的最终偏移量,其中切分线是打印页面的终止位置;D.根据当前页面终止位置、当前最终偏移量和打印纸张高度确定当前页切分之后下一个待打印页面的起始和终止位置,转步骤B;E.根据获取的参数正式打印页面。

【技术特征摘要】
1.一种电子文档分页打印方法,其特征在于,包含以下步骤A.确定当前打印纸张和电子文档待打印页面的尺寸,初始化当前待打印页面起始位置和终止位置;B.判断待打印页面是否小于等于打印纸张尺寸,如果是,转入步骤E,正式打印,否则转步骤C;C.对超出页面边缘的基本单元应用预先设置的切分规则进行切分,计算切分后待打印页面的最终偏移量,其中切分线是打印页面的终止位置;D.根据当前页面终止位置、当前最终偏移量和打印纸张高度确定当前页切分之后下一个待打印页面的起始和终止位置,转步骤B;E.根据获取的参数正式打印页面。2. 根据权利要求1所述的方法,其特征在于,所述步骤B之前进一步包 括,将电子文档页面的坐标系转化为打印的预览视图的坐标系。3. 根据权利要求1所述的方法,其特征在于,所述步骤C根据切分规则 确定待打印页面的最终偏移量的过程中,进一步包括Cl.初始化当前切分线偏移量;C2.如果切分线不分割任何基本单元,转步骤C6;否则取切分线上的第 一个基本单元;C3.判断该基本单元如果是容器基本单元且包含子基本单元,则转步骤C4;如果该基本单元不是容器基本单元或该基本单元是容器基本单元但不包 含子基本单元,则应用预先设置的切分规则切分该基本单元,切分线偏移量取该基本单元切分后的偏移量,判断如果切分线偏移量改变,转步骤C2,否 则转C5;C4.枚举该容器基本单元中被切分线分割的子基本单元,判断如果子基 本单元是容器基本单元且包含子基本单元,则递归枚举其被切分线分割的子基本单元;如果存在不是容器基本单元的子基本单元或不再包含子基本单元的容器子基本单元,且该子基本单元的偏移量不等于切分线偏移量,则切分线偏移量取该子基本单元的偏移量,转步骤C2,否则转步骤C5;C5.判断如果切分线上仍存在被分割的基本单元,枚举下一个被切分线 分割的基本单元,转步骤C3,否则转步骤C6;C6.输出切分线偏移量为最终偏移量。4. 根据权利要求1所述的方法,其特征在于,如果待打印页面存在页眉 或页脚,则所述步骤D之前进一步包括-(1) .初始化待打印页面的页眉和页脚的偏移参数,判断是否存在页眉, 如果存在,则转步骤(2),否则转步骤(3);(2) .判断当前打印范围是否包括页眉,如果是,修改偏移参数,否则转 步骤(3);(3) .判断是否存在页脚,如果存在,修改偏移参数,否则当前偏移参数 为最终结果。5. 根据权利要求1所述的方法,其特征在于,所述步骤E进一步包括-当前已打印页面数累加1,判断是否还存在待打印页面,如果存在,继续打 印,否则返回已打印页面数。6. 根据权利要求1所述的方法,其特征在于,所述方法在^Tmdows平台 上利用标准插件实现时,所述标准插件至少包括对象链接与嵌入插件,对 象链接和嵌入控制扩展插件,ActiveX插件。7. 根据权利要求3所述的方法,其特征在于,所述步骤C2或C3分别 进一步包括,判断当前基本单元的类型,根据其类型选择切分规则确定当前 基本单元的偏移量。8. 根据权利要求1至7任意一项所述的方法,其特征在于,所述切分规 则具体包括普通基本单元的切分规则;文本框的切分规则;表格和复选框 的切分规则;直线、圆形、矩形的切分规则;同一条切分线上的基本单元取 最大偏移量的原则;最大化...

【专利技术属性】
技术研发人员:冯维韦春辉
申请(专利权)人:北京书生国际信息技术有限公司
类型:发明
国别省市:11[中国|北京]

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

1