CN111737621A - 基于wasm的ofd渲染方法、***及装置 - Google Patents
基于wasm的ofd渲染方法、***及装置 Download PDFInfo
- Publication number
- CN111737621A CN111737621A CN202010553697.0A CN202010553697A CN111737621A CN 111737621 A CN111737621 A CN 111737621A CN 202010553697 A CN202010553697 A CN 202010553697A CN 111737621 A CN111737621 A CN 111737621A
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44584—Portable applications, i.e. making applications self-contained, e.g. U3 standard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于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 (12)
1.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染方法,其特征在于,包括:
通过预先设置的与Js环境交互的API接口与WEB前端或业务***进行交互,响应于WEB前端或业务***打开OFD文件的请求,通过WASM加载OFD文件并对所述OFD文件进行渲染前准备;
在WEB前端或业务***指定的HTML容器中,基于所述渲染前准备完成OFD文件的当前页面的渲染。
2.如权利要求1所述的方法,其特征在于,响应于WEB前端或业务***打开OFD文件的请求,通过WASM加载OFD文件并对所述OFD文件进行渲染前准备具体包括:
响应于WEB前端或业务***打开OFD文件的请求,通过WASM加载OFD文件,对所述OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将所述基本结构发送到WEB前端或业务***进行显示,根据所述页面描述对绘制页面所需的OFD文件中的资源进行初始化;
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从所述页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式。
3.如权利要求2所述的方法,其特征在于,在WEB前端或业务***指定的HTML容器中,基于所述渲染前准备完成OFD文件的当前页面的渲染具体包括:
在WEB前端或业务***指定的HTML容器中,基于初始化的所述资源、所述字体环境、以及构造的所述数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
4.如权利要求2所述的方法,其特征在于,
响应于业务***打开OFD文件的请求之前,所述方法进一步包括:
创建与Js环境交互的API接口;
进行基于WASM的版式文档OFD渲染的程序初始化;
通过WASM加载OFD文件之前,所述方法进一步包括:
通过JS读取OFD文件并将其写入内存文件***。
5.如权利要求3所述的方法,其特征在于,
根据提取的字体数据生成字体环境具体包括:
将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;
构造适合播放的数据格式具体包括:
构造适合H5播放的数据格式。
6.如权利要求1至5中任一项所述的方法,其特征在于,完成OFD文件的当前页面的渲染之后,所述方法进一步包括:
根据所述OFD文件的电子***信息,提取电子签章的外观数据,并根据所述外观数据绘制电子***;
读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示所述电子***,否则,对所述电子***的外观样式进行变更后显示。
7.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染***,其特征在于,通过预先设置的与Js环境交互的API接口与WEB前端或业务***进行交互,包括:
准备模块,用于响应于WEB前端或业务***打开OFD文件的请求,通过WASM加载OFD文件并对所述OFD文件进行渲染前准备;
渲染模块,用于在WEB前端或业务***指定的HTML容器中,基于所述渲染前准备完成OFD文件的当前页面的渲染。
8.如权利要求7所述的***,其特征在于,所述准备模块具体用于:
响应于WEB前端或业务***打开OFD文件的请求,通过WASM加载OFD文件,对所述OFD文件进行映射,并从映射数据中提取OFD文件的基本结构和页面描述,通过预先设置的与Js环境交互的API接口将所述基本结构发送到WEB前端或业务***进行显示,根据所述页面描述对绘制页面所需的OFD文件中的资源进行初始化;
提取OFD文件内嵌字体和当前页面所需图片,根据提取的字体数据生成字体环境,分析从所述页面描述中获取的音频/视频的路径信息,构造适合播放的数据格式;
所述渲染模块具体用于:
在WEB前端或业务***指定的HTML容器中,基于初始化的所述资源、所述字体环境、以及构造的所述数据格式,按照OFD规范进行图片、图形、文字、以及音频/视频的绘制,完成OFD文件的当前页面的渲染。
9.如权利要求8所述的***,其特征在于,
所述准备模块进一步用于:在响应于业务***打开OFD文件的请求之前,创建与Js环境交互的API接口,并进行基于WASM的版式文档OFD渲染的程序初始化;
所述准备模块进一步用于:通过WASM加载OFD文件之前,通过JS读取OFD文件并将其写入内存文件***;
所述准备模块具体包括:将提取的字体数据以BASE64编码方式注入HTML环境,形成字体环境;构造适合H5播放的数据格式。
10.如权利要求7至9中任一项所述的***,其特征在于,所述***进一步包括:验证模块,用于在完成OFD文件的当前页面的渲染之后,根据所述OFD文件的电子***信息,提取电子签章的外观数据,并根据所述外观数据绘制电子***;读取电子签章中的签名信息,并计算当前文件电子签名信息,将电子签章中的签名信息和计算得到的当前文件电子签名信息进行对比,如果验证通过,则显示所述电子***,否则,对所述电子***的外观样式进行变更后显示。
11.一种基于WEB字节码技术WASM的开放式版式文档OFD渲染装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的基于WEB字节码技术WASM的开放式版式文档OFD渲染方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至6中任一项所述的基于WEB字节码技术WASM的开放式版式文档OFD渲染方法的步骤。
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 true CN111737621A (zh) | 2020-10-02 |
CN111737621B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296774A (zh) * | 2021-06-16 | 2021-08-24 | 北京数科网维技术有限责任公司 | 一种基于浏览器的ofd文件的处理方法及*** |
WO2023010851A1 (zh) * | 2021-08-05 | 2023-02-09 | 稿定(厦门)科技有限公司 | 基于WebGL的图形渲染方法、装置及*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982113A (zh) * | 2012-11-08 | 2013-03-20 | 山东大学 | 一种针对Android***的基于内容分组的浏览器页面加载方法 |
CN106990966A (zh) * | 2017-03-31 | 2017-07-28 | 中国科学技术大学苏州研究院 | 基于前端框架的移动端跨平台应用开发框架及开发方法 |
US20170346804A1 (en) * | 2015-06-02 | 2017-11-30 | ALTR Solutions, Inc. | Credential-free user login to remotely executed applications |
CN107844465A (zh) * | 2017-11-11 | 2018-03-27 | 江西金格科技股份有限公司 | 一种ofd格式文档支持脚本的方法 |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
CN110032614A (zh) * | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 基于wasm的地图矢量渲染方法和装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN110662116A (zh) * | 2019-09-29 | 2020-01-07 | 中电福富信息科技有限公司 | 一种基于WebAssembly技术的Web播放器及播放方法 |
CN110717127A (zh) * | 2019-10-14 | 2020-01-21 | 北京华宇信息技术有限公司 | 一种ofd文件在线解析与浏览的方法与装置 |
CN110765385A (zh) * | 2019-10-24 | 2020-02-07 | 北京华宇信息技术有限公司 | 一种ofd文档网页端浏览的方法及*** |
CN110765381A (zh) * | 2019-10-10 | 2020-02-07 | 许昌许继软件技术有限公司 | 基于WebAssembly技术的配网主站的Web发布方法及*** |
CN111176625A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种在浏览器端高效编译Solidity智能合约的方法 |
-
2020
- 2020-06-17 CN CN202010553697.0A patent/CN111737621B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982113A (zh) * | 2012-11-08 | 2013-03-20 | 山东大学 | 一种针对Android***的基于内容分组的浏览器页面加载方法 |
US20170346804A1 (en) * | 2015-06-02 | 2017-11-30 | ALTR Solutions, Inc. | Credential-free user login to remotely executed applications |
CN106990966A (zh) * | 2017-03-31 | 2017-07-28 | 中国科学技术大学苏州研究院 | 基于前端框架的移动端跨平台应用开发框架及开发方法 |
CN107844465A (zh) * | 2017-11-11 | 2018-03-27 | 江西金格科技股份有限公司 | 一种ofd格式文档支持脚本的方法 |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN110032614A (zh) * | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 基于wasm的地图矢量渲染方法和装置 |
CN110662116A (zh) * | 2019-09-29 | 2020-01-07 | 中电福富信息科技有限公司 | 一种基于WebAssembly技术的Web播放器及播放方法 |
CN110765381A (zh) * | 2019-10-10 | 2020-02-07 | 许昌许继软件技术有限公司 | 基于WebAssembly技术的配网主站的Web发布方法及*** |
CN110717127A (zh) * | 2019-10-14 | 2020-01-21 | 北京华宇信息技术有限公司 | 一种ofd文件在线解析与浏览的方法与装置 |
CN110765385A (zh) * | 2019-10-24 | 2020-02-07 | 北京华宇信息技术有限公司 | 一种ofd文档网页端浏览的方法及*** |
CN111176625A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种在浏览器端高效编译Solidity智能合约的方法 |
Non-Patent Citations (3)
Title |
---|
CARLOS ALEJANDRO PÉREZ; MARIO SERGIO CLEVA; DIEGO ORLANDO LISKA; DOMINGA CONCEPCIÓN AQUINO; CLAUDIO RODRIGUES DA FONSECA;: "Low-Cost Image and Video Processing Using High-Performance Middleware in Single-board Computers with Open Internet Standards", IEEE LATIN AMERICA TRANSACTIONS, pages 311 * |
徐玖超;程文琪;: "Web单页技术在桌面程序开发中的应用", 计算机产品与流通, no. 02, pages 40 * |
黄承明;: "移动互联时代Web前端岗位课程群建设探讨", 清远职业技术学院学报, pages 55 - 62 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296774A (zh) * | 2021-06-16 | 2021-08-24 | 北京数科网维技术有限责任公司 | 一种基于浏览器的ofd文件的处理方法及*** |
CN113296774B (zh) * | 2021-06-16 | 2024-06-14 | 北京数科网维技术有限责任公司 | 一种基于浏览器的ofd文件的处理方法及*** |
WO2023010851A1 (zh) * | 2021-08-05 | 2023-02-09 | 稿定(厦门)科技有限公司 | 基于WebGL的图形渲染方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111737621B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408783B (zh) | 电子文档在线编辑方法及*** | |
US10963622B1 (en) | Allowing operating system access to non-standard fonts in a network document | |
CN105930467B (zh) | 一种信息处理方法及电子设备 | |
US8209598B1 (en) | Exporting electronic documents from rich internet applications | |
EP3499383B1 (en) | Automated generation of web forms using fillable electronic documents | |
CN102929867A (zh) | 用于自动化的文档翻译的技术 | |
WO2022142743A1 (zh) | 可视化页面渲染方法、装置、设备及存储介质 | |
CN102148852A (zh) | 字体子集的动态流式传输 | |
CN109634579B (zh) | 代码生成方法、装置、计算机装置及存储介质 | |
US8656055B2 (en) | Protocol wrapper and serializer/deserializer for facilitating data exchanges | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
WO2021249356A1 (zh) | 表单数据校验方法、***、服务器和用户终端 | |
WO2020259141A1 (zh) | 一种文件处理方法、装置及计算机设备 | |
CN111737621A (zh) | 基于wasm的ofd渲染方法、***及装置 | |
US8112500B2 (en) | Technique of relaying communications between client apparatus and server apparatus | |
CN111767498A (zh) | 一种实现文件信息共享的方法和装置 | |
CN115904317A (zh) | 一种前后端接口统一调用方法、装置、设备及存储介质 | |
CN113743055A (zh) | 文本信息处理方法、装置、电子设备、服务器及存储介质 | |
Frost | Learning WML & WMLScript | |
CN114138717A (zh) | 一种富文本信息的发布方法及相关装置 | |
CN113377453A (zh) | 图片处理方法、装置与电子设备 | |
US20040205589A1 (en) | Document display apparatus, method, and storing medium | |
CN110826005B (zh) | 文件生成方法、装置、电子设备及存储介质 | |
CN115422559B (zh) | 用于流转类业务的签章方法、电子设备和可读存储介质 | |
CN111736805B (zh) | 一种处理Excel表格的方法和装置 |
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 |