CN111737621B - 基于wasm的ofd渲染方法、系统及装置 - Google Patents

基于wasm的ofd渲染方法、系统及装置 Download PDF

Info

Publication number
CN111737621B
CN111737621B CN202010553697.0A CN202010553697A CN111737621B CN 111737621 B CN111737621 B CN 111737621B CN 202010553697 A CN202010553697 A CN 202010553697A CN 111737621 B CN111737621 B CN 111737621B
Authority
CN
China
Prior art keywords
ofd
file
rendering
wasm
ofd file
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.)
Active
Application number
CN202010553697.0A
Other languages
English (en)
Other versions
CN111737621A (zh
Inventor
杨吉云
张升平
黄岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Youhong Beijing Technology Co ltd
Original Assignee
Youhong Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Youhong Beijing Technology Co ltd filed Critical Youhong Beijing Technology Co ltd
Priority to CN202010553697.0A priority Critical patent/CN111737621B/zh
Publication of CN111737621A publication Critical patent/CN111737621A/zh
Application granted granted Critical
Publication of CN111737621B publication Critical patent/CN111737621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44584Portable applications, i.e. making applications self-contained, e.g. U3 standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于WASM的OFD渲染方法、系统及装置,所述方法包括:通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。

Description

基于WASM的OFD渲染方法、系统及装置
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于WEB字节码技术WASM的开放式版式文档OFD渲染方法、系统及装置。
背景技术
开放式版式文件(Open Fixed Layout Document,简称为OFD)是国家2016年10月推出,2017年5月正式实施的自主知识产权“电子文件存储与交换格式”规范。随着该规范及电子文件在各行各业规范化的深入应用,OFD版式文件的内容高保真渲染阅读能力,以及对文件内容的防篡改验真能力,成为了各种业务系统电子文件合规化的迫切需求。
全球广域网(World Wide Web,简称为WEB),也称为万维网,是目前政府企业业务系统的主要服务模式;WEB是这个时代的标志,现有各种信息系统都基于WEB技术构建,包括当下流行的微信小程序,WEB系统最基本形态是前端一个浏览器,后端1或N个服务端系统组合,形成一套业务系统,版式文件OFD在WEB环境下进行高保真渲染是必然趋势,也是各种业务系统在WEB模式下的最佳实践。
从目前业界技术解决方案来看,OFD阅读渲染手段分为三类:一是基于独立桌面本地软件进行渲染;二是通过美国微软ActiveX技术实现在网页中嵌入OCX插件进行渲染;三是纯JavaScript,简称为JS渲染,其是WEB模式业务逻辑实现的主要脚本语言,JS渲染时采用多个后端服务进行文件解析,提取版式描述指令后由前端JS进行绘制。。在上述三种方式中,本地必须安装冗重软件,有成为病毒宿主的风险;依赖IE和微软闭源技术,跨平台能力弱,不符合国产化策略;JS暴露逻辑和传输秘钥,纯JS性能低,复杂图形效率低。随着国产化进程的加快,无论是政府还是企业都必将在电子文件领域进行合规化建设,在这种背景下,独立的桌面阅读软件和插件形态,无法在国产CPU、OS环境中的WEB业务系统进行无插件化绿色无缝融合。
发明内容
本发明的目的在于提供一种基于WEB字节码技术(Web Assembly,简称为WASM)的OFD渲染方法、系统及装置,旨在解决现有技术中的上述问题。
本发明提供一种基于WASM的OFD渲染方法,包括:
通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;
在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。
本发明提供一种基于WASM的OFD渲染系统,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,包括:
准备模块,用于响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;
渲染模块,用于在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。
本发明实施例还提供一种基于WASM的OFD渲染装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述基于WEB字节码技术WASM的OFD渲染方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有信息传递的实现程序,程序被处理器执行时实现上述基于WEB字节码技术WASM的OFD渲染方法的步骤。
采用本发明实施例,使用WASM字节码技术将OFD版式文件在WEB前端以无服务端,无插件,不依赖操作系统和CPU的方式,实现在线阅读,能够轻量绿色的作为中间件为各种业务系统服务。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的基于WASM的OFD渲染方法的流程图;
图2是本发明实施例的基于WASM的OFD渲染方法的详细处理的示意图;
图3是本发明实施例的基于WASM的OFD渲染系统的示意图;
图4是本发明实施例的基于WASM的OFD渲染装置的示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
方法实施例
根据本发明实施例,提供了一种基于WASM的OFD渲染方法,图1是本发明实施例的基于WASM的OFD渲染方法的流程图,如图1所示,根据本发明实施例的基于WASM的OFD渲染方法具体包括:
步骤1,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;
在本发明实施例中,在执行步骤1之前,需要执行以下两部准备操作:
1、创建与Js环境交互的API接口;
2、进行基于WASM的版式文档OFD渲染的程序初始化;
此外,步骤1具体包括如下处理:
响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将基本结构发送到WEB前端或业务系统进行显示,根据页面描述对绘制页面所需的OFD文件中的资源进行初始化;
在本发明实施例中,通过WASM加载OFD文件之前,优选地,可以通过JS读取OFD文件并将其写入内存文件系统。
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式。在上述处理中,可以将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;此外,可以构造适合H5播放的数据格式。
步骤2,在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。
步骤2具体包括如下处理:
在WEB前端或业务系统指定的HTML容器中,基于初始化的资源、字体环境、以及构造的数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
在本发明实施例中,完成OFD文件的当前页面的渲染之后,可以进一步包括如下处理:
根据OFD文件的电子印章信息,提取电子签章的外观数据,并根据外观数据绘制电子印章;
读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示电子印章,否则,对电子印章的外观样式进行变更后显示。
从上述处理可以看出,本发明上似乎里基于WASM字节码技术,在一个高效的沙箱化执行环境中,使OFD文件在WEB环境下形成一个独立中间件,同时面向JS环境开放的API,实现本地或网络文件加载、规范解析、版式内容描述渲染,内容签名和验签等能力,高效便捷地在各种WEB业务系统中绿色置入,无需插件、不依赖服务端环境、支持国产CPU和OS,并且可以在涉密环境中进行二次传输加密,各种业务系统可实现OFD电子文件能力的快速整合。
需要说明的是,WASM技术,是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,具有紧凑的二进制格式,可以近似原生代码的性能运行,并为诸如C/C++/GO等语言提供一个编译目标。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。图2是本发明实施例的基于WASM的OFD渲染方法的详细处理的示意图,如图2所示,具体包括如下处理:
步骤1,创建与Js环境的交互的基本API,为业务系统提供使用本方法提供接口;
步骤2,对本方法内在的逻辑进行初始化;
步骤3,响应业务系统打开OFD文件的请求,通过JS将OFD文件写入文件交换内存;
步骤4,通过WASM加载OFD文件,为OFD解压提供数据;
步骤5,使用ZIP协议解压OFD文件;
步骤6,根据OFD规范约定,将解压的数据与规范结构进行映射;
步骤7,从数据映射中提取OFD文件的基本结构,并通过步骤1准备的接口通知业务系统;
步骤8,从数据映射中提取页面描述,初始化页面所需要的资源,如图片、字体等依赖资源;页面描述中包括:音频/视频的路径信息等对渲染页面进行描述的信息;
步骤9,提取OFD文件内嵌字体;
步骤10,将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;
步骤11,提取当前页面所需要图片;
步骤12,分析音频/视频的路径信息,并构造适合H5播放的数据格式;
步骤13,在业务系统指定的HTML容器中,按照OFD规范进行图片绘制;
步骤14,在业务系统指定的HTML容器中,按照OFD规范进行图形绘制;
步骤15,在业务系统指定的HTML容器中,按照OFD规范进行文字绘制;
步骤16,根据OFD文件电子印章信息,提取电子签章的外观数据;
步骤17,根据外观数据绘制电子印章;
步骤18,读取电子签章数据;数字证书
步骤19,计算当前文件电子签名信息;
步骤20,将电子签章中的签名信息和当前文件电子签名信息进行验证;
步骤21,如果验证未通过,则变更步骤17绘制电子印章的外观样式。
综上所述,借助于本发明实施例的技术方案,使用WASM字节码技术将OFD版式文件在WEB前端以无服务端,无插件,不依赖操作系统和CPU的方式,实现在线阅读,电子签章验真的能力,并可轻量绿色的作为中间件为各种业务系统服务。
系统实施例
根据本发明实施例,提供了一种基于WASM的OFD渲染系统,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,图3是本发明实施例的基于WASM的OFD渲染系统的示意图,如图3所示,根据本发明实施例的基于WASM的OFD渲染系统具体包括:
准备模块30,用于响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;准备模块30具体用于:
响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将基本结构发送到WEB前端或业务系统进行显示,根据页面描述对绘制页面所需的OFD文件中的资源进行初始化;
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式;优选地,可以将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;构造适合H5播放的数据格式。
准备模块30进一步用于:在响应于业务系统打开OFD文件的请求之前,创建与Js环境交互的API接口,并进行基于WASM的版式文档OFD渲染的程序初始化;通过WASM加载OFD文件之前,通过JS读取OFD文件并将其写入内存文件系统;
渲染模块32,用于在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。渲染模块32具体用于:
在WEB前端或业务系统指定的HTML容器中,基于初始化的资源、字体环境、以及构造的数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
此外,上述系统进一步包括:验证模块,用于在完成OFD文件的当前页面的渲染之后,根据OFD文件的电子印章信息,提取电子签章的外观数据,并根据外观数据绘制电子印章;读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示电子印章,否则,对电子印章的外观样式进行变更后显示。
本发明实施例是与上述方法实施例对应的系统实施例,各个模块的具体操作可以参照方法实施例的描述进行理解,在此不再赘述。
装置实施例一
根据本发明的实施例,提供了一种基于WASM的OFD渲染装置,图4是本发明实施例的基于WASM的OFD渲染装置的示意图,如图4所示,包括:存储器40、处理器42及存储在所述存储器40上并可在所述处理器42上运行的计算机程序,所述计算机程序被所述处理器42执行时实现如下步骤:
步骤1,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;
在本发明实施例中,在执行步骤1之前,需要执行以下两部准备操作:
1、创建与Js环境交互的API接口;
2、进行基于WASM的版式文档OFD渲染的程序初始化;
此外,步骤1具体包括如下处理:
响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将基本结构发送到WEB前端或业务系统进行显示,根据页面描述对绘制页面所需的OFD文件中的资源进行初始化;
在本发明实施例中,通过WASM加载OFD文件之前,优选地,可以通过JS读取OFD文件并将其写入内存文件系统。
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式。在上述处理中,可以将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;此外,可以构造适合H5播放的数据格式。
步骤2,在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。
步骤2具体包括如下处理:
在WEB前端或业务系统指定的HTML容器中,基于初始化的资源、字体环境、以及构造的数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
在本发明实施例中,完成OFD文件的当前页面的渲染之后,可以进一步包括如下处理:
根据OFD文件的电子印章信息,提取电子签章的外观数据,并根据外观数据绘制电子印章;
读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示电子印章,否则,对电子印章的外观样式进行变更后显示。
从上述处理可以看出,本发明上似乎里基于WASM字节码技术,在一个高效的沙箱化执行环境中,使OFD文件在WEB环境下形成一个独立中间件,同时面向JS环境开放的API,实现本地或网络文件加载、规范解析、版式内容描述渲染,内容签名和验签等能力,高效便捷地在各种WEB业务系统中绿色置入,无需插件、不依赖服务端环境、支持国产CPU和OS,并且可以在涉密环境中进行二次传输加密,各种业务系统可实现OFD电子文件能力的快速整合。
需要说明的是,WASM技术,是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,具有紧凑的二进制格式,可以近似原生代码的性能运行,并为诸如C/C++/GO等语言提供一个编译目标。
装置实施例二
根据本发明实施例,提供了一种计算机可读存储介质,计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器42执行时实现如下步骤:
步骤1,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对OFD文件进行渲染前准备;
在本发明实施例中,在执行步骤1之前,需要执行以下两部准备操作:
1、创建与Js环境交互的API接口;
2、进行基于WASM的版式文档OFD渲染的程序初始化;
此外,步骤1具体包括如下处理:
响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将基本结构发送到WEB前端或业务系统进行显示,根据页面描述对绘制页面所需的OFD文件中的资源进行初始化;
在本发明实施例中,通过WASM加载OFD文件之前,优选地,可以通过JS读取OFD文件并将其写入内存文件系统。
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式。在上述处理中,可以将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;此外,可以构造适合H5播放的数据格式。
步骤2,在WEB前端或业务系统指定的HTML容器中,基于渲染前准备完成OFD文件的当前页面的渲染。
步骤2具体包括如下处理:
在WEB前端或业务系统指定的HTML容器中,基于初始化的资源、字体环境、以及构造的数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
在本发明实施例中,完成OFD文件的当前页面的渲染之后,可以进一步包括如下处理:
根据OFD文件的电子印章信息,提取电子签章的外观数据,并根据外观数据绘制电子印章;
读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示电子印章,否则,对电子印章的外观样式进行变更后显示。
从上述处理可以看出,本发明上似乎里基于WASM字节码技术,在一个高效的沙箱化执行环境中,使OFD文件在WEB环境下形成一个独立中间件,同时面向JS环境开放的API,实现本地或网络文件加载、规范解析、版式内容描述渲染,内容签名和验签等能力,高效便捷地在各种WEB业务系统中绿色置入,无需插件、不依赖服务端环境、支持国产CPU和OS,并且可以在涉密环境中进行二次传输加密,各种业务系统可实现OFD电子文件能力的快速整合。
需要说明的是,WASM技术,是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,具有紧凑的二进制格式,可以近似原生代码的性能运行,并为诸如C/C++/GO等语言提供一个编译目标。
综上所述,借助于本发明实施例的技术方案,使用WASM字节码技术将OFD版式文件在WEB前端以无服务端,无插件,不依赖操作系统和CPU的方式,实现在线阅读,电子签章验真的能力,并可轻量绿色的作为中间件为各种业务系统服务。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染方法,其特征在于,包括:
通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对所述OFD文件进行渲染前准备,即响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对所述OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将所述基本结构发送到WEB前端或业务系统进行显示,根据所述页面描述对绘制页面所需的OFD文件中的资源进行初始化;提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从所述页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式;
在WEB前端或业务系统指定的HTM容器中,基于所述渲染前准备完成OFD文件的当前页面的渲染,即在WEB前端或业务系统指定的HTML容器中,基于初始化的所述资源、所述字体环境、以及构造的所述数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
2.如权利要求1所述的方法,其特征在于,
响应于业务系统打开OFD文件的请求之前,所述方法进一步包括:
创建与Js环境交互的API接口;
进行基于WASM的版式文档OFD渲染的程序初始化;
通过WASM加载OFD文件之前,所述方法进一步包括:
通过JS读取OFD文件并将其写入内存文件系统。
3.如权利要求1所述的方法,其特征在于,
根据提取的字体数据生成字体环境具体包括:
将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;
构造适合播放的数据格式具体包括:
构造适合H5播放的数据格式。
4.如权利要求1至3中任一项所述的方法,其特征在于,完成OFD文件的当前页面的渲染之后,所述方法进一步包括:
根据所述OFD文件的电子印章信息,提取电子签章的外观数据,并根据所述外观数据绘制电子印章;
读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示所述电子印章,否则,对所述电子印章的外观样式进行变更后显示。
5.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染系统,其特征在于,通过预先设置的与Js环境交互的API接口与WEB前端或业务系统进行交互,包括:
准备模块,用于响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件并对所述OFD文件进行渲染前准备,即响应于WEB前端或业务系统打开OFD文件的请求,通过WASM加载OFD文件,对所述OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将所述基本结构发送到WEB前端或业务系统进行显示,根据所述页面描述对绘制页面所需的OFD文件中的资源进行初始化;提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从所述页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式;
渲染模块,用于在WEB前端或业务系统指定的HTML容器中,基于所述渲染前准备完成OFD文件的当前页面的渲染,即在WEB前端或业务系统指定的HTML容器中,基于初始化的所述资源、所述字体环境、以及构造的所述数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
6.如权利要求5所述的系统,其特征在于,
所述准备模块进一步用于:在响应于业务系统打开OFD文件的请求之前,创建与Js环境交互的API接口,并进行基于WASM的版式文档OFD渲染的程序初始化;
所述准备模块进一步用于:通过WASM加载OFD文件之前,通过JS读取OFD文件并将其写入内存文件系统;
所述准备模块具体包括:将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;构造适合H5播放的数据格式。
7.如权利要求5至6中任一项所述的系统,其特征在于,所述系统进一步包括:验证模块,用于在完成OFD文件的当前页面的渲染之后,根据所述OFD文件的电子印章信息,提取电子签章的外观数据,并根据所述外观数据绘制电子印章;读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示所述电子印章,否则,对所述电子印章的外观样式进行变更后显示。
8.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于WEB字节码技术WASM的开放式版式文档OFD渲染方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至4中任一项所述的基于WEB字节码技术WASM的开放式版式文档OFD渲染方法的步骤。
CN202010553697.0A 2020-06-17 2020-06-17 基于wasm的ofd渲染方法、系统及装置 Active CN111737621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010553697.0A CN111737621B (zh) 2020-06-17 2020-06-17 基于wasm的ofd渲染方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010553697.0A CN111737621B (zh) 2020-06-17 2020-06-17 基于wasm的ofd渲染方法、系统及装置

Publications (2)

Publication Number Publication Date
CN111737621A CN111737621A (zh) 2020-10-02
CN111737621B true CN111737621B (zh) 2023-07-25

Family

ID=72649496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010553697.0A Active CN111737621B (zh) 2020-06-17 2020-06-17 基于wasm的ofd渲染方法、系统及装置

Country Status (1)

Country Link
CN (1) CN111737621B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296774A (zh) * 2021-06-16 2021-08-24 北京数科网维技术有限责任公司 一种基于浏览器的ofd文件的处理方法及系统
CN113570733A (zh) * 2021-08-05 2021-10-29 稿定(厦门)科技有限公司 一种基于WebGL的图形渲染方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844465A (zh) * 2017-11-11 2018-03-27 江西金格科技股份有限公司 一种ofd格式文档支持脚本的方法
CN110717127A (zh) * 2019-10-14 2020-01-21 北京华宇信息技术有限公司 一种ofd文件在线解析与浏览的方法与装置
CN110765385A (zh) * 2019-10-24 2020-02-07 北京华宇信息技术有限公司 一种ofd文档网页端浏览的方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866545B2 (en) * 2015-06-02 2018-01-09 ALTR Solutions, Inc. Credential-free user login to remotely executed applications
CN106990966A (zh) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 基于前端框架的移动端跨平台应用开发框架及开发方法
CN109670128B (zh) * 2018-11-06 2021-06-04 躺平设计家(北京)科技有限公司 一种基于WebAssembly的网页应用实现方法及装置
US10452868B1 (en) * 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
CN110032614B (zh) * 2019-04-18 2020-02-07 成都四方伟业软件股份有限公司 基于wasm的地图矢量渲染方法和装置
CN110662116A (zh) * 2019-09-29 2020-01-07 中电福富信息科技有限公司 一种基于WebAssembly技术的Web播放器及播放方法
CN110765381B (zh) * 2019-10-10 2022-05-24 许昌许继软件技术有限公司 基于WebAssembly技术的配网主站的Web发布方法及系统
CN111176625B (zh) * 2019-12-31 2023-07-28 杭州趣链科技有限公司 一种在浏览器端高效编译Solidity智能合约的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844465A (zh) * 2017-11-11 2018-03-27 江西金格科技股份有限公司 一种ofd格式文档支持脚本的方法
CN110717127A (zh) * 2019-10-14 2020-01-21 北京华宇信息技术有限公司 一种ofd文件在线解析与浏览的方法与装置
CN110765385A (zh) * 2019-10-24 2020-02-07 北京华宇信息技术有限公司 一种ofd文档网页端浏览的方法及系统

Also Published As

Publication number Publication date
CN111737621A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN108984174B (zh) 跨平台的应用创建方法、装置、服务器和存储介质
CN111737621B (zh) 基于wasm的ofd渲染方法、系统及装置
US20210329079A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
CN111290806B (zh) 应用程序接口的调用方法、装置、计算机设备及存储介质
CN111831538B (zh) 调试方法、装置以及存储介质
US20070203928A1 (en) EDI instance based transaction set definition
CN102148852A (zh) 字体子集的动态流式传输
CN110049118A (zh) 消息推送方法、装置、设备及存储介质
CN107404418B (zh) 互联网产品测试方法、装置、设备及存储介质
WO2021249356A1 (zh) 表单数据校验方法、系统、服务器和用户终端
CN111291882A (zh) 一种模型转换的方法、装置、设备和计算机存储介质
CN113536185B (zh) 应用页面的加载方法、存储介质、及其相关设备
JP2023541186A (ja) 可視化ページレンダリング方法、装置、機器及び記憶媒体
CN110647316A (zh) 通用业务对象的生成方法、装置、计算机设备及存储介质
CN109753644B (zh) 一种富文本编辑方法、装置、移动终端及存储介质
US20040034719A1 (en) System and method for communication with host internal area access
CN113420757A (zh) 文本审核方法、装置、电子设备和计算机可读介质
CN116303888A (zh) 一种生僻字处理方法、装置、存储介质及电子设备
CN115904317A (zh) 一种前后端接口统一调用方法、装置、设备及存储介质
CN108959411A (zh) Etl任务的处理方法、装置和设备
CN114528509A (zh) 一种页面显示处理方法、装置、电子设备及存储介质
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN111447268B (zh) 文件结构转换方法、装置、设备和存储介质
Frost Learning WML & WMLScript
CN108052842A (zh) 签名数据的存储、验证方法及装置

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