CN109829139A - 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 - Google Patents
一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 Download PDFInfo
- Publication number
- CN109829139A CN109829139A CN201910091864.1A CN201910091864A CN109829139A CN 109829139 A CN109829139 A CN 109829139A CN 201910091864 A CN201910091864 A CN 201910091864A CN 109829139 A CN109829139 A CN 109829139A
- Authority
- CN
- China
- Prior art keywords
- document
- ofd
- memory model
- format
- 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
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法和装置。该方法的步骤包括:通过流式排版引擎生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;通过PDF转换引擎将生成的流式文档内存模型转换成PDF文档内存模型;采用文档解析排版技术将生成的PDF文档内存模型转换为OFD文档内存模型;利用生成的OFD文档内存模型输出OFD文档。本发明可以直接将DOC/DOCX流式文档转换为OFD版式文档,转换后的OFD版式文档既符合版式文件标准又能保持DOC/DOCX流式文档的原版样式。
Description
技术领域
本发明属于计算机领域,涉及一种文档转化方法,尤其涉及一种DOC/DOCX格式的流式文档转换成OFD格式的版式文档的方法和装置。
背景技术
DOC/DOCX是一种流式文档格式,是目前应用最为广泛的流式文档格式,也是日常工作中大多数第一手文件的格式。许多历史遗留文件也多为DOC/DOCX格式。
OFD是一种版式文档格式,全称为开放式版式文档(Open Fixed-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文档内存模型进行解析得到其对应的抽象语法树(Abstract Syntax Tree)。
2)通过先序遍历抽象语法树得到PDF文档中包含的对象及相关信息。创建空白xml文件,将PDF对象及信息写入到xml文件。
3)导入对应的OFD文档的标准规范配置信息。将xml文件压缩生成OFD文档内存模型。
所述“抽象语法树”是指将PDF文档内存模型中的对象和对象信息以树的形式表示,如图4所示。
PDF的对象包括目录对象,大纲对象,和页面组对象。目录对象是PDF文档的根对象,包含着大纲和页面组对象;对象信息包括:1)文本的内容、字体、字号、位置坐标等,2)图片内容的分辨率、图片色域、通道、图层信息、存储格式、图片位置、透明度等,3)表格内容的表头、表格样式、表格内容、表格内包含的前述文本信息等,4)几何图形内容信息包括:矢量几何内容的数学描述、颜色、位置、图层信息、透明度、存储格式,非矢量几何内容的前述图片内容信息。5)字体内容的字体名称、字体文件等。
所述“OFD”文档的标准规范配置信息是指:Document.xml、OFD.xml、PublicRes.xml等信息。
所述“OFD文档内存模型”是指在进程地址空间里存储的OFD文档信息。
步骤S5:将上述OFD文档内存模型输出OFD文档,通知用户转换结果。
本实施例经过前几个步骤的转换设置,文档已经从流式模型彻底转换成了OFD文档内存模型;最后采用打包压缩的方式导出OFD版式文档。
本实施例实现的文档转换可以有两种模式:一是转化为OFD版式文档的可见图元,二是转换为大纲互操作和带附件的OFD结构版式文档。
将OFD文档内存模型压缩后保存于一个电子文件的物理包中,可实现转化为OFD版式文档的可见图元;将OFD文档内存模型打包后以ZIP格式进行压缩,可将其转换为大纲互操作和带附件的OFD结构版式文档。
本发明的DOC/DOCX格式的流式文件转换成OFD格式的版式文件的方法,可以实现不同操作系统平台间DOC/DOCX流式文档到OFD版式文档的便捷转换,其中的文字、标记、图片、表格的式样、大小、位置均和原文档完全一致。
本发明另一实施例提供一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的装置,其包括:
流式排版引擎模块,负责生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;
PDF转换引擎模块,负责将生成的流式文档内存模型转换成PDF文档内存模型;
文档解析排版模块,负责将生成的PDF文档内存模型转换为OFD文档内存模型;
OFD文档输出模块,负责利用生成的OFD文档内存模型输出OFD文档。
本发明另一实施例提供一种计算机,其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上面所述方法中各步骤的指令。
应当理解的是上述实施方式描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
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文件压缩生成OFD文档内存模型。
6.根据权利要求4所述的方法,其特征在于,所述PDF对象包括目录对象、大纲对象和页面组对象;所述PDF对象的信息包括下列中的一种或多种:
a)文本信息,包括文本的内容、字体、字号、位置坐标;
b)图片内容信息,包括图片内容的分辨率、图片色域、通道、图层信息、存储格式、图片位置、透明度;
d)表格内容信息,包括表格内容的表头、表格样式、表格内容、表格内包含的a)所述的文本信息;
e)几何图形内容信息,包括:矢量几何内容的数学描述、颜色、位置、图层信息、透明度、存储格式,非矢量几何内容的b)所述的图片内容信息;
f)字体内容的字体名称、字体文件。
7.根据权利要求1所述的方法,其特征在于,将OFD文档内存模型压缩后保存于一个电子文件的物理包中,从而转化为OFD版式文档的可见图元。
8.根据权利要求1所述的方法,其特征在于,将OFD文档内存模型打包后以ZIP格式进行压缩,从而转换为大纲互操作和带附件的OFD结构版式文档。
9.一种DOC/DOCX格式的流式文件转换成OFD格式的版式文件的装置,其特征在于,包括:
流式排版引擎模块,负责生成与待转换的DOC/DOCX格式的流式文档对应的流式文档内存模型;
PDF转换引擎模块,负责将生成的流式文档内存模型转换成PDF文档内存模型;
文档解析排版模块,负责将生成的PDF文档内存模型转换为OFD文档内存模型;
OFD文档输出模块,负责利用生成的OFD文档内存模型输出OFD文档。
10.一种计算机,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至8中任一权利要求所述方法中各步骤的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910091864.1A CN109829139B (zh) | 2019-01-30 | 2019-01-30 | 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910091864.1A CN109829139B (zh) | 2019-01-30 | 2019-01-30 | 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829139A true CN109829139A (zh) | 2019-05-31 |
CN109829139B CN109829139B (zh) | 2023-04-18 |
Family
ID=66863054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910091864.1A Active CN109829139B (zh) | 2019-01-30 | 2019-01-30 | 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829139B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753499A (zh) * | 2020-07-07 | 2020-10-09 | 江苏中威科技软件系统有限公司 | 电子表单与ofd版式文件合并展现及目录生成的方法 |
CN111767698A (zh) * | 2020-07-07 | 2020-10-13 | 江苏中威科技软件系统有限公司 | 基于ofd版式文件技术的电子表单系统 |
CN111797595A (zh) * | 2020-05-18 | 2020-10-20 | 冠群信息技术(南京)有限公司 | 一种基于xml模板生成ofd版式页面的方法和装置 |
CN111881651A (zh) * | 2020-08-06 | 2020-11-03 | 泰山信息科技有限公司 | 一种uot流式文档转换成ofd版式文档的方法 |
CN111897776A (zh) * | 2020-06-22 | 2020-11-06 | 百望股份有限公司 | 一种ofd文档的处理方法、电子设备及计算机可读存储介质 |
CN112686000A (zh) * | 2020-12-24 | 2021-04-20 | 掌阅科技股份有限公司 | 电子书文档的格式转换方法、电子设备及存储介质 |
CN114722781A (zh) * | 2022-03-28 | 2022-07-08 | 慧之安信息技术股份有限公司 | 一种将流式文档转换为ofd文档的方法和装置 |
CN116704540A (zh) * | 2023-08-09 | 2023-09-05 | 江苏中威科技软件系统有限公司 | 将纸质文件内容进行标识并高保真的转换为ofd文件的技术 |
CN117236291A (zh) * | 2023-11-16 | 2023-12-15 | 北京点聚信息技术有限公司 | 一种扫描文件快速转化矢量版式文件的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729338A (zh) * | 2013-12-29 | 2014-04-16 | 国云科技股份有限公司 | 一种文件在线预览方法 |
CN105335339A (zh) * | 2015-10-19 | 2016-02-17 | 江苏沃叶软件有限公司 | pdf文件的转换方法 |
CN108415887A (zh) * | 2018-02-09 | 2018-08-17 | 武汉大学 | 一种pdf文件向ofd文件转化的方法 |
CN108664458A (zh) * | 2017-03-28 | 2018-10-16 | 华多九州科技股份有限公司 | 一种pdf文件表格解析方法及系统 |
-
2019
- 2019-01-30 CN CN201910091864.1A patent/CN109829139B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729338A (zh) * | 2013-12-29 | 2014-04-16 | 国云科技股份有限公司 | 一种文件在线预览方法 |
CN105335339A (zh) * | 2015-10-19 | 2016-02-17 | 江苏沃叶软件有限公司 | pdf文件的转换方法 |
CN108664458A (zh) * | 2017-03-28 | 2018-10-16 | 华多九州科技股份有限公司 | 一种pdf文件表格解析方法及系统 |
CN108415887A (zh) * | 2018-02-09 | 2018-08-17 | 武汉大学 | 一种pdf文件向ofd文件转化的方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797595A (zh) * | 2020-05-18 | 2020-10-20 | 冠群信息技术(南京)有限公司 | 一种基于xml模板生成ofd版式页面的方法和装置 |
CN111897776A (zh) * | 2020-06-22 | 2020-11-06 | 百望股份有限公司 | 一种ofd文档的处理方法、电子设备及计算机可读存储介质 |
CN111753499A (zh) * | 2020-07-07 | 2020-10-09 | 江苏中威科技软件系统有限公司 | 电子表单与ofd版式文件合并展现及目录生成的方法 |
CN111767698A (zh) * | 2020-07-07 | 2020-10-13 | 江苏中威科技软件系统有限公司 | 基于ofd版式文件技术的电子表单系统 |
CN111753499B (zh) * | 2020-07-07 | 2021-02-05 | 江苏中威科技软件系统有限公司 | 电子表单与ofd版式文件合并展现及目录生成的方法 |
CN111767698B (zh) * | 2020-07-07 | 2021-02-05 | 江苏中威科技软件系统有限公司 | 基于ofd版式文件技术的电子表单系统 |
CN111881651A (zh) * | 2020-08-06 | 2020-11-03 | 泰山信息科技有限公司 | 一种uot流式文档转换成ofd版式文档的方法 |
CN112686000A (zh) * | 2020-12-24 | 2021-04-20 | 掌阅科技股份有限公司 | 电子书文档的格式转换方法、电子设备及存储介质 |
CN114722781A (zh) * | 2022-03-28 | 2022-07-08 | 慧之安信息技术股份有限公司 | 一种将流式文档转换为ofd文档的方法和装置 |
CN116704540A (zh) * | 2023-08-09 | 2023-09-05 | 江苏中威科技软件系统有限公司 | 将纸质文件内容进行标识并高保真的转换为ofd文件的技术 |
CN117236291A (zh) * | 2023-11-16 | 2023-12-15 | 北京点聚信息技术有限公司 | 一种扫描文件快速转化矢量版式文件的方法及系统 |
CN117236291B (zh) * | 2023-11-16 | 2024-01-12 | 北京点聚信息技术有限公司 | 一种扫描文件快速转化矢量版式文件的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109829139B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829139A (zh) | 一种doc/docx格式的流式文件转换成ofd格式的版式文件的方法和装置 | |
US20150046797A1 (en) | Document format processing apparatus and document format processing method | |
CN108415887A (zh) | 一种pdf文件向ofd文件转化的方法 | |
CN109857670B (zh) | 一种基于通用模板的测试报告自动生成方法 | |
CN101989256A (zh) | 一种文书文件的排版方法及装置 | |
CN109977088A (zh) | 一种预设格式文件转换为ofd格式的方法 | |
WO2017054629A1 (zh) | 一种基于pos终端的打印凭条编辑方法和装置 | |
US11281849B2 (en) | System and method for printable document viewer optimization | |
CN106708506A (zh) | 一种从视觉上优化Android应用启动速度的方法及装置 | |
CN110474836A (zh) | 一种邮件模板生成方法、装置、计算设备和介质 | |
CN107357773A (zh) | 一种pdf电子发票的生成方法及系统 | |
US8365066B2 (en) | Systems and methods for processing markup language specified spreadsheet styles | |
WO2009145952A1 (en) | Load-time memory optimization | |
US8589783B2 (en) | Systems and methods for processing color information in spreadsheets | |
US20050125724A1 (en) | PPML to PDF conversion | |
CN111898982A (zh) | 电子发票的生成方法 | |
CN110457668A (zh) | 简化用户操作的基于b/s架构的表单处理方法及系统 | |
CN104461406B (zh) | 一种打印输出方法及装置 | |
US10832453B2 (en) | Systems and methods for clipping images | |
CN106598510A (zh) | 兼容两种打印方式的方法及装置 | |
CN113703699B (zh) | 电子文件的实时输出方法和装置 | |
US12008691B2 (en) | Systems and methods for clipping images | |
CN101364204B (zh) | 栅格图像处理器错误代码定位方法及装置 | |
JP5600960B2 (ja) | ホストコンピュータ、印刷データ生成方法およびプログラム | |
CN117933193A (zh) | 一种xml文件转为pdf文件的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |