一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法和装置制造方法及图纸

技术编号:21247228 阅读:50 留言:0更新日期:2019-06-01 07:31
本发明专利技术涉及一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法和装置。该方法的步骤包括:通过流式排版引擎生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;通过PDF转换引擎将生成的流式文档内存模型转换成PDF文档内存模型;采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型;利用生成的OFD文档内存模型输出OFD文档。本发明专利技术可以直接将DOC/DOCX流式文档转换为OFD版式文档,转换后的OFD版式文档既符合版式文件标准又能保持DOC/DOCX流式文档的原版样式。

A Method and Device for Transforming DOC/DOCX Stream File into OFD Format File

The invention relates to a method and device for converting a DOC/DOCX stream file into an OFD format layout file. The steps of this method include: generating the stream document memory model corresponding to the stream document in DOC/DOCX format to be converted by the stream typesetting engine; transforming the generated stream document memory model into the PDF document memory model by the PDF conversion engine; transforming the generated PDF document memory model into the OFD document memory model by the document parsing typesetting technology; and utilizing the generated OFD document memory model; The memory model outputs the OFD document. The present invention can directly convert DOC/DOCX streaming document into OFD format document. The converted OFD format document not only conforms to the format document standard, but also maintains the original format style of DOC/DOCX streaming document.

【技术实现步骤摘要】
一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法和装置
本专利技术属于计算机领域,涉及一种文档转化方法,尤其涉及一种DOC/DOCX格式的流式文档转换成OFD格式的版式文档的方法和装置。
技术介绍
DOC/DOCX是一种流式文档格式,是目前应用最为广泛的流式文档格式,也是日常工作中大多数第一手文件的格式。许多历史遗留文件也多为DOC/DOCX格式。OFD是一种版式文档格式,全称为开放式版式文档(OpenFixed-layoutDOCument),是国家版式文档格式规范。版式文档是电子文件应用的一个重要门类,是常用的基础办公软件之一。其具有原版原式的呈现特点,即阅读显示与印刷效果一致,真实地保持了文档产生之初的文字、图表、色彩等版式信息,具有高保真的显示和打印效果。国家标准于2017年5月1日开始实施,未来电子公文、电子发票等都将以OFD格式的版式文件存在。DOC/DOCX格式流式文件转换OFD格式的版式文件的应用需求将空前扩大。目前市面上缺少公开免费的转换工具,转换技术不成熟也成为急需解决的问题。有关OFD格式转换的公开研究成果很少,并且多是由PDF版式文档格式转换成OFD格式,不能直接对应用最广泛的DOC/DOCX流式文档格式进行转换。虽然DOC以及OFD文件相关标准已经开放,但由于流式文件缺少相应坐标信息,很难直接转换为OFD版式文件。一般的流式文件转版式文件的方法,往往采用内置的规则或语法,难以灵活修改,不能适用于DOC/DOCX多变的结构,算法封闭不开放。综上,一种DOC/DOCX格式的流式文档转换成OFD格式的版式文档的方法,势在必行,显得尤为重要。
技术实现思路
针对目前尚未发现流式文件直接转化为OFD版式文件的工具和流式文件缺少相应坐标信息的问题,本方法首先将流式文件转化为具有坐标信息的PDF版式文件,再将PDF版式文件转化为OFD版式文件。采用本方法后,保证了DOC/DOCX流式文件成功转换为OFD版式文件。本专利技术所采用的技术方案是:一种DOC/DOCX格式的流式文档转换成OFD格式的版式文档的方法,包括以下步骤:通过流式排版引擎,生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;通过PDF转换引擎,将生成的流式文档内存模型转换成PDF文档内存模型;采用文档解析排版技术,将生成的PDF文档内存模型转换为OFD文档内存模型;利用生成的OFD文档内存模型输出OFD文档,通知用户转换结果。进一步地,所述流式排版引擎将内存中的流式文档导入到进程地址空间中,将流式文档切入到流式文档内存模型,以便于对流式文档的处理。进一步地,所述PDF转换引擎利用PDF虚拟打印机技术将流式文档内存模型转化为PDF文档内存模型。进一步地,所述采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型,包括:1)以对象为基本单位,利用PDF解析器对PDF文档内存模型进行解析得到其对应的抽象语法树;2)通过先序遍历抽象语法树得到PDF文档中包含的对象及相关信息,创建空白xml文件,将PDF对象及信息写入到xml文件;3)导入对应的OFD文档的标准规范配置信息,将xml文件压缩生成OFD文档内存模型。进一步地,将OFD文档内存模型压缩后保存于一个电子文件的物理包中,从而转化为OFD版式文档的可见图元。进一步地,将OFD文档内存模型打包后以ZIP格式进行压缩,从而转换为大纲互操作和带附件的OFD结构版式文档。与上面方法对应地,本专利技术还提供一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的装置,其包括:流式排版引擎模块,负责生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;PDF转换引擎模块,负责将生成的流式文档内存模型转换成PDF文档内存模型;文档解析排版模块,负责将生成的PDF文档内存模型转换为OFD文档内存模型;OFD文档输出模块,负责利用生成的OFD文档内存模型输出OFD文档。本专利技术还提供一种计算机,其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上面所述方法中各步骤的指令。本专利技术有益效果为:采用方案后,一是可以直接将DOC/DOCX流式文档转换为OFD版式文档;二是转换后的OFD版式文档既符合版式文件标准又能保持DOC/DOCX流式文档的原版样式。附图说明图1为DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法的流程图。图2为DOC/DOCX格式的流式文档内存模型转换成PDF文档内存模型的流程图。图3为PDF文档内存模型转换成OFD文档内存模型的流程图。图4为PDF文档内存模型解析后生成的抽象语法树示意图。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图对本专利技术的DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法的具体实施方式作详细描述。参考图1,图1为DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法的流程图,主要包括如下步骤:步骤S1:用户操作待转换的流式文档。启用特定的程序文件,调用处理线程对待转换文件进行转换处理。步骤S2:启动流式排版引擎,将待转换的流式文档生成对应的流式文档内存模型;为保证核心信息不变以及后期处理的便捷,采用流式排版引擎将内存中的流式文档导入到进程地址空间中,将流式文档切入到流式文档内存模型,便于对流式文档的处理。所述“流式文档内存模型”是指在进程地址空间里存储的流式文档信息。步骤S3:启动PDF转换引擎,生成PDF文档内存模型;所述PDF转换引擎利用现有PDF虚拟打印机技术将流式文档内存模型转化为PDF文档内存模型,如图2所示。使用虚拟打印技术的具体流程如下:1)通过设备驱动程序包来对打印机的驱动进行程序编写。2)梳理打印所需要关联的接口信息,通过调用程序来实现相关的接口驱动安装。3)将设置好的接口信息对应具体的业务信息,进行链路和逻辑链接,并验证业务逻辑层面的可行性,生成可以进行打印的文档信息。4)将上面生成的新文档信息与虚拟打印机进行连接,并进行文档推送。所述“PDF文档内存模型”是指在进程地址空间里存储的PDF文档信息。步骤S4:采用文档解析排版技术,将上述PDF文档内存模型转换为OFD文档内存模型;文档解析排版技术的关键职能是对PDF文档内存模型进行拆分、解析。具体流程如如图3所示,包括:1)以对象为基本单位,利用PDF解析器对PDF文档内存模型进行解析得到其对应的抽象语法树(AbstractSyntaxTree)。2)通过先序遍历抽象语法树得到PDF文档中包含的对象及相关信息。创建空白xml文件,将PDF对象及信息写入到xml文件。3)导入对应的OFD文档的标准规范配置信息。将xml文件压缩生成OFD文档内存模型。所述“抽象语法树”是指将PDF文档内存模型中的对象和对象信息以树的形式表示,如图4所示。PDF的对象包括目录对象,大纲对象,和页面组对象。目录对象是PDF文档的根对象,包含着大纲和页面组对象;对象信息包括:1)文本的内容、字体、字号、位置坐标等,2)图片内容的分辨率、图片色域、通道、图层信息、存储格式、图片位置、透明度等,3)表格内容的表头、表格样式、表格内容、表本文档来自技高网
...

【技术保护点】
1.一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法,其特征在于,包括以下步骤:通过流式排版引擎生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;通过PDF转换引擎将生成的流式文档内存模型转换成PDF文档内存模型;采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型;利用生成的OFD文档内存模型输出OFD文档。

【技术特征摘要】
1.一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法,其特征在于,包括以下步骤:通过流式排版引擎生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;通过PDF转换引擎将生成的流式文档内存模型转换成PDF文档内存模型;采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型;利用生成的OFD文档内存模型输出OFD文档。2.根据权利要求1所述的方法,其特征在于,所述流式排版引擎将内存中的流式文档导入到进程地址空间中,将流式文档切入到流式文档内存模型,以便于对流式文档的处理。3.根据权利要求1所述的方法,其特征在于,所述PDF转换引擎利用PDF虚拟打印机技术将流式文档内存模型转化为PDF文档内存模型。4.根据权利要求1所述的方法,其特征在于,所述PDF虚拟打印机技术包括:1)通过设备驱动程序包来对打印机的驱动进行程序编写;2)梳理打印所需要关联的接口信息,通过调用程序来实现相关的接口驱动安装;3)将设置好的接口信息对应具体的业务信息,进行链路和逻辑链接,并验证业务逻辑层面的可行性,生成可以进行打印的文档信息;4)将生成的文档信息与虚拟打印机进行连接,并进行文档推送。5.根据权利要求1所述的方法,其特征在于,所述采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型,包括:1)以对象为基本单位,利用PDF解析器对PDF文档内存模型进行解析得到其对应的抽象语法树;2)通过先序遍历抽象语法树得到PDF文档中包含的对象及相关信息,创建空白xml文件,将PDF对象及信息写入到xml文件;3)导入对应的OFD文档的标准规范配置信息,将xml文件压缩生成...

【专利技术属性】
技术研发人员:韩光冯文化兰静
申请(专利权)人:中国软件与技术服务股份有限公司
类型:发明
国别省市:北京,11

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

1