一种基于xml模板生成ofd版式页面的方法和装置

文档序号:1087372 发布日期:2020-10-20 浏览:3次 >En<

阅读说明:本技术 一种基于xml模板生成ofd版式页面的方法和装置 (Method and device for generating OFD format page based on XML template ) 是由 薛军超 于 2020-05-18 设计创作,主要内容包括:本发明提出了一种基于XML模板生成OFD版式页面的方法,包括以下步骤:获取XML模板,所述XML模板包括一系列元数据;依次读取所述元数据;按照所述元数据的类型将其转换为符合标准的OFD文件;输出所述OFD文件。本发明通过XML模板生成OFD版式页面,具有方便、灵活、统一化的优点,帮助应用者批量生成具有相同版面显示效果的OFD文件。(The invention provides a method for generating an OFD format page based on an XML template, which comprises the following steps: acquiring an XML template, wherein the XML template comprises a series of metadata; sequentially reading the metadata; converting the metadata into an OFD file meeting the standard according to the type of the metadata; and outputting the OFD file. The invention generates the OFD layout page through the XML template, has the advantages of convenience, flexibility and unification, and helps an application to generate OFD files with the same layout display effect in batch.)

一种基于XML模板生成OFD版式页面的方法和装置

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种基于XML模板生成OFD版式页面的方法和装置。

背景技术

OFD,开放版式文档(Open Fixed-layout Document,缩写:OFD),是我国国家标准《GB/T 33190-2016电子文件存储与交换格式版式文档》定义的我国版式文档格式。OFD适应了我国信息化建设的需要,正在成为我国各行各业信息化应用的基础标准之一。所谓“版式文档”,是指它描述的页面内容具有固定的位置、大小、颜色等外观信息,确保页面内容在所有终端的显示效果完全固定、一致。

OFD是一个压缩包文件,采用ZIP压缩格式,文件后缀名是“.ofd”,因此从本质上讲OFD就是一个ZIP压缩包。依据标准定义,OFD包含了两种类型的数据文件:一种是以XML格式存储的文档及页面信息,它定义了版式文档的基础信息;另一种是以其它格式存储的资源信息,比如字体、图像、多媒体等格式的资源文件。

XML,可扩展标记语言(Extensible Markup Language,缩写:XML),是国际流行的通用数据描述语言格式,它具有简单、易于理解、易用应用等众多优点。OFD采用它作为版式文档的基础信息描述格式,可以说是OFD的核心数据格式。

目前在OFD版式应用上存在一个重要的需求:需要批量生成固定版面格式的文件,固定版面格式即版面格式相同但数据内容不同。实际应用当中存在大量这样的应用场景,比如电子***或电子凭证,它们的特点是版面格式完全固定,只是***或凭证的内容不一样,是需要生成的数量庞大而且长期性的应用。目前的解决办法是通过计算机程序直接生成OFD全页面数据,每次都需要对计算机程序重新设计,再全部重新生成,应用过程复杂,执行效率低下。

发明内容

鉴于上述问题,本发明提供了一种基于XML模板生成OFD版式页面的方法和装置。

为解决上述技术问题,本发明采用的技术方案是:一种基于XML模板生成OFD版式页面的方法,包括以下步骤:获取XML模板,所述XML模板包括一系列元数据;依次读取所述元数据;按照所述元数据的类型将其转换为符合标准的OFD文件;输出所述OFD文件。

作为优选方案,在所述获取XML模板之前,还包括生成XML模板,具体步骤为:获取原始数据;根据所述原始数据的类型分别将其转换成元数据;多个所述元数据依次组合生成XML模板。

作为优选方案,每个所述元数据包括以下信息中的一种或多种:元数据名称、元数据取值、元数据类型、元数据定位和元数据属性。

作为优选方案,所述按照所述元数据的类型将其转换为符合标准的OFD文件,具体为:当所述元数据为文字类型时,将所述元数据中的字符进行排版,获取每个所述字符的位置信息后以OFD形式输出;当所述元数据为图片类型时,将所述元数据中的图片进行计算缩放比例、旋转系数后以OFD形式输出。

作为优选方案,还包括嵌入字体,将指定字体添加到所述OFD文件中。

作为优选方案,所述方法还可应用于生成PDF版式页面。

本发明还公开了一种基于XML模板生成OFD版式页面的装置,包括:获取模块,用于获取XML模板,所述XML模板包括一系列元数据;读取模块,用于依次读取所述元数据;转换模块,用于按照所述元数据的类型将其转换为符合标准的OFD文件;输出模块,用于输出所述OFD文件。

作为优选方案,还包括生成模块,所述生成模块用于获取原始数据,并根据所述原始数据的类型分别将其转换成元数据,再将多个所述元数据依次组合生成XML模板。

作为优选方案,所述转换模块包括文字转换模块和图片转换模块;所述文字转换模块用于将所述元数据中的字符进行排版,获取每个所述字符的位置信息以OFD形式输出;所述图片转换模块用于将所述元数据中的图片进行计算缩放比例、旋转系数后以OFD形式输出。

作为优选方案,还包括嵌入模块,所述嵌入模块用于将指定字体添加到所述OFD文件中。

与现有技术相比,本发明的有益效果包括:将版式页面模板化,固定部分的版式页面内容做成OFD页面模板,再将可变内容补充到OFD版式页面,版式页面模板化将版面设计做了分离,通过模板设计器来设计版面,即将固定版面内容表达出来,同时也将可变内容部分的所在位置、大小及其它呈现效果定义出来,从而在批量生成的时候简化的应用并提高执行效率,具有方便、灵活、统一化的优点,帮助应用者批量生成具有相同版面显示效果的OFD文件。

附图说明

参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:

图1为本发明实施例中一种基于XML模板生成OFD版式页面的方法流程图;

图2为本发明实施例中生成XML模板的方法流程图;

图3为本发明实施例中一种基于XML模板生成OFD版式装置的结构图;

图4为本发明实施例中转换模块的结构图。

具体实施方式

容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。

根据本发明的一实施方式结合图1示出。一种基于XML模板生成OFD版式页面的方法,包括以下步骤:

S110:获取XML模板,XML模板包括一系列元数据。

具体的,每个元数据均包括以下信息:

元数据名称,每项元数据名称必须唯一,且为可读的字符串。

元数据取值,指元数据定义的数据取值。

元数据类型,指元数据取值类型,可以扩展,比如文本(即字符串)、图像、日期等。

元数据定位,用来指定元数据数值在版式页面当中的位置和大小(宽度、高度)。

元数据属性,这个跟元数据类型相关,不同类型的属性设置不同,比如文本类型的元数据属性就要有字体、字号、文字颜色、字形风格(粗体、斜体)等,图像类型的数据属性可以有透明度或旋转角度等属性。

如图2所示,在获取XML模板之前,还包括生成XML模板,具体步骤为:

S210:获取原始数据。

S220:根据原始数据的类型分别将其转换成元数据。对于原始数据为二进制的类型,则需要做编码转换,转换成符合XML格式标准的数据表达形式,常见的编码转换为BASE-64,比如图像或二维码类型的数据取值就需要做编码转换。

S230:将多个元数据依次组合生成XML模板。

本实施例中,XML模板元数据的样例如下:

Figure BDA0002496131300000041

Figure BDA0002496131300000051

S120:依次读取元数据,从XML模板的第一条元数据开始,每次顺序读取一条元数据。

S130:按照元数据的类型将其转换为符合标准的OFD文件,比如文字类型需要进行排版,然后获取每个字符的位置信息后以OFD形式输出,图像需要计算缩放比例、旋转系数后以OFD形式输出。

如果XML模板包含多个页面的数据,则在一个页面处理完成之后继续处理下一个页面,直至结束。

S140:输出OFD文件。

依据OFD标准,对于归档保存的OFD文件应当使用嵌入字体,从而确保OFD文件在所有平台上显示效果完全相同,因此对于元数据类型为文本的则采用嵌入字体。所谓嵌入字体就是把指定字体当中用到的字符字体数据添加到OFD文件中。嵌入字体的详细处理过程不属于本专利的保护范畴,这里不做赘述。

应理解,本发明公开了一种基于XML模板生成OFD版式页面的方法,帮助应用者批量生成具有相同版面显示效果的OFD文件。在批量生成的时候,每一份XML模板元数据定义了一个OFD文件,执行相同的生成过程,如此循环直至全部生成。XML模板元数据可能来自于数据库,也可能来自于网络,或者二者结合的数据环境或其它数据环境。该方法还可应用于基于XML模板的PDF等格式的版式页面上。

如图3和图4所示,本发明还公开了一种基于XML模板生成OFD版式页面的装置,包括:

获取模块110,用于获取XML模板,XML模板包括一系列元数据;

读取模块120,用于依次读取元数据;

转换模块130,用于按照元数据的类型将其转换为符合标准的OFD文件,转换模块130包括文字转换模块1301和图片转换模块1302;文字转换模块1301用于将元数据中的字符进行排版,获取每个字符的位置信息再进行输出;

图片转换模块1302用于将元数据中的图片进行计算缩放比例、旋转系数后再进行输出。

输出模块140,用于输出OFD文件。

本实施例中,该装置还包括生成模块100,生成模块100用于获取原始数据,并根据原始数据的类型分别将其转换成元数据,再将元数据依次组合生成XML模板。

还包括嵌入模块150,该嵌入模块150用于将指定字体添加到OFD文件中。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种可扩展标记语言XML文档的压缩、解压方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!