本发明涉及电子文档格式的处理技术,特别涉及一种OFD格式文档支持脚本的方法。

背景技术:

OFD是一种版式文档格式,全称为开放式版式文档(Open Fixed-layout Document),是国家版式文档格式规范。版式文档是电子文件应用的一个重要门类,是常用的基础办公软件之一,其具有原版原式的呈现特点,即阅读显示与印刷效果一致,真实地保持了文档产生之初的文字、图表、色彩等版式信息,具有高保真的显示和打印效果。

OFD是一种采用“文件+打包”架构的格式标准,文件除资源性文件如图像和多媒体使用流行的外置格式外,都采用XML文件来描述具体业务。

页面描述是版式文档格式中的核心部分,原版原式的呈现特点就靠页面描述文件来保证,同时这也是版式文档中其他数据进行工作的基础。页面描述文件主要规定了页面的图层、图元及其具体属性,OFD的页面描述采用了自定义的页面描述。

OFD采用了ZIP格式作为文件架构的打包方案。对XML文件,统一采用Deflate压缩算法;对于资源文件,可根据其格式灵活选择Deflate压缩或者不压缩。

目前,WEB应用的领域越来越广泛,CS模型(客户端与服务器通信)的产品架构越来越弱化,而目前OFD文档的使用,多数都是基于客户端产品,那么在纯WEB端使用OFD文档就显得很吃力。

同时,现有技术中使用OFD文档都需要借助客户端或浏览器插件来实现;客户端的更新升级或插件的更新升级相对复杂;客户端和插件开发效率低,应用环境复杂。

综上,发明一种使OFD文档支持脚本的方法,势在必行,显得尤为重要。

技术实现要素:

本发明的目的是提供一种文档处理方法,以实现OFD文档支持多种语言格式脚本,从而提高OFD文档的扩展功能,使客户端的更新升级或插件的更新升级更加简单,提高开发效率,改善和简化应用环境。

本发明采用以下技术方案实现上述目的。一种基于OFD文档的脚本化方法,包括支持多种语言格式脚本文件的脚本接口层,在所述脚本接口层下设置以文件内容逻辑信息为基础且使用抽象语法来描述的包含OFD语法的OFD对象层,在所述OFD对象层下设置文件二进制流层;其步骤如下:

1)运行脚本文件:脚本文件由用户指定,脚本文件由脚本语言编写;

2)调用脚本接口:在所述脚本文件中,脚本语言调用脚本接口层中的脚本接口,每个脚本接口都对应了一个操作OFD格式文档的功能;

3)创建OFD对象:在所述脚本接口中,创建OFD对象并将OFD对象添加到OFD对象层中,OFD对象实现该接口对应的操作OFD格式文档的功能;所述OFD对象:负责具体的OFD格式文档操作功能实现,并将操作带来的数据修改传递到文件二进制流层;

4)操作OFD格式文档:在所述OFD对象中,使用OFD对象的功能,对OFD格式文档进行对应操作;

5)写入文件二进制流层:在所述操作OFD格式文档中,将操作文档带来的数据修改写入到文件二进制流层中,所述二进制流层:负责数据的写入修改,并生成文档;

6)生成操作后OFD文档:使用所述文件二进制流层,生成文档。

进一步,所述脚本语言包括Python、Ruby、Perl、JavaScript、PHP或Shell。

进一步,所述文件内容逻辑信息包括:图形、图像、文字、视频、复合对象、动作、注释、自定义标引、扩展信息、数字签名、版本信息和附件。

进一步,所述OFD对象为可操作对象;当需要对OFD文档操作时,脚本函数调用脚本接口层中的脚本接口,然后该脚本接口调用OFD对象中的方法并进行操作;OFD对象将由于操作产生的修改,传递到文件二进制流层中,生成新OFD文档替换原有的OFD文档。

本发明通过将文档的繁琐操作通过脚本完成,极大提高文档的操作效率,特别是对多份文档做同样的操作时,更为明显。提供了OFD文档支持脚本的技术,可应用于不同的OFD文档阅读器,也可应用于控制台或服务器后台,在对脚本语言支持的环境下即可运行,达到高效、运行环境简单的优点。

附图说明

图1是本发明OFD格式文档支持脚本的方法流程图。

具体实施方式

以下结合附图和实施例对本发明作进一步说明。一种基于OFD文档的脚本化方法,包括脚本文件、脚本接口层、OFD对象层、文件二进制流层和OFD文档文件。

脚本文件:由用户指定,可以是Python、Ruby、Perl、JavaScript、PHP、Shell格式;

脚本接口层:Windows平台上的COM技术实现的接口(COM接口),实现对脚本语言的支持;

OFD对象层:包含多个OFD对象,OFD对象是对OFD文档内容逻辑信息和OFD格式语法的抽象描述;OFD对象之间使用层级关系进行逻辑关联,这种层级关系描述了OFD文档的架构;

文件二进制流层:OFD文件以ZIP格式作为文件的打包方案,文件二进制流层即是对OFD文件的ZIP压缩和解压;

OFD文档:是物理磁盘上的OFD文件或网络流数据源。

参见图1,本发明方法包括支持多种语言格式脚本文件的脚本接口层,在所述脚本接口层下设置以文件内容逻辑信息为基础,且使用抽象语法来描述的包含OFD语法的OFD对象层;在所述OFD对象层下设置文件二进制流层。其步骤如下:

1)运行脚本文件1:脚本文件由用户指定,可以是Python、Ruby、Perl、JavaScript、PHP、Shell编写的脚本文件;

2)调用脚本接口2:在所述脚本文件中,运用脚本函数调用脚本接口层中的脚本接口,每个脚本接口都对应了一个操作OFD格式文档的功能;

3)创建OFD对象3:在所述脚本接口中,创建OFD对象,并将该OFD对象添加到OFD对象层中,该OFD对象实现所述脚本接口对应的操作OFD格式文档的功能;

4)操作OFD格式文档4:在所述OFD对象中,对OFD格式文档进行对应操作;

5)写入文件二进制流层5:在所述操作OFD格式文档中,将由于对OFD格式文档进行操作而带来的数据修改,写入到文件二进制流层中;

6)生成操作后的OFD格式文档6:使用所述文件二进制流层,生成新的OFD格式文档。

OFD对象负责具体的OFD格式文档操作功能实现,并将操作带来的数据修改传递到文件二进制流层中;所述文件二进制流层负责数据的写入修改,并生成新OFD格式文档。

运行脚本后,在脚本函数中调用脚本接口层中的脚本接口,然后创建OFD对象并添加到OFD对象层中;通过OFD对象进行OFD格式文档的对应操作,然后将操作文档带来的数据传递到文件二进制流层,由文件二进制流层进行数据的写入修改,最后生成操作后的OFD格式文档。

实施例:现以本发明应用于KGReader阅读器V2.2版本为实施案例作具体说明。KGReader阅读器前一版本(V2.1)使用实例:

用户环境:在Windows7操作系统下,安装了KGReader阅读器V2.1版本,同时也安装了V2.2版本。

用户需求:使用KGReader阅读器,在OFD文档上,每页增加图片水印批注,此操作为批量批注操作。

V2.1版本流程:

步骤1:使用阅读器打开文档;

步骤2:选择批量批注功能菜单;

步骤3:选择水印项;

步骤4:选择图片水印子项;

步骤5:设置增加水印的页范围和水印位置属性;

步骤6:点击选择图片按钮;

步骤7:选择水印图片并确定;

步骤8:点击确定按钮增加图片水印批注。

使用本发明后流程:

步骤1:使用阅读器打开文档;

步骤2:选择运行脚本功能腰菜单;

步骤3:点击选择脚本文件按钮;

步骤4:选择脚本文件并确定;

步骤5:点击运行按钮。

OFD文档支持脚本的技术,可应用于不同的OFD文档阅读器,也可应用于控制台或服务器后台,在对脚本语言支持的环境下即可运行。

php转换ofd文件格式,一种OFD格式文档支持脚本的方法与流程相关推荐

  1. 支持html文件格式的网盘,Word文档支持哪些文件格式?

    延期 文件格式名称 描述 .doc Word 97-2003文档 Word 97-Word 2003的二进制文件格式. .docm Word启用宏的文档 Word 2019,Word 2016,Wor ...

  2. 两种删除WORD文档页眉横线方法的对比

    关于删除WORD文档页眉横线,网上搜索均可查找到2种常见的方法,即:1.将页眉样式改为正文样式:2.清除格式. 两种方式虽然均可以达到清除横线的目的,但效果却相差很大. 1.使用之后将页眉样式改为正文 ...

  3. 如何编辑ofd格式文档?

    OFD是什么格式文档?可以说OFD是中国版的PDF,但是在很多方面的性能优于PDF的同类文档.OFD也逐渐开始在电子发票.电子公文.电子证照等等的领域中应用. 那么那么怎样才能打开这种格式的文档呢?O ...

  4. ofd格式文档和pdf的区别

    很多人没听过OFD格式,不知道怎么打开OFD文档,更别说OFD转PDF了.OFD是我国的国家版式文档格式标准,跟PDF文档比较类似,可以保持文档内容布局固定,不因软硬件环境变化而变化.如果想要把OFD ...

  5. OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片、SVG、PDF、文本等

    OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片.SVG.PDF.文本等. OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出 ...

  6. php使用pdf2htmlex,转换 HTML 与 PDF 格式文档的神器

    企业 Web 项目开发中经常会有生产 PDF 格式文档的需求,例如 PDF 账单下载,月末生成各种统计报表等等.我们要帮助企业实现自动化,也就是说无需人工干预,程序能够按需从 DB 中拿数据自主生成. ...

  7. Java DOC 转换给 PDF 格式文档的代码

    工作过程,把写代码过程经常用的代码片段备份一次,下面的代码段是关于Java DOC 转换给 PDF 格式文档的代码,应该对码农们有所用. import java.io.File; import jav ...

  8. 【学习笔记】Windows格式文档转换成Unix格式

    [学习笔记]Windows格式文档转换成Unix格式 我们有时候需要将文档格式从Windows格式转换成Unix格式,Windows下换行是\r\n,而Unix下换行是\n,所以只需要将文档中的\r去 ...

  9. 批量将 PDF 转为 ePub 格式文档

    概要:PDF 格式文档转为 ePub 格式的需求是我们经常会碰到的,网上的各种工具效果也是良莠不齐,经常会出现格式错乱.字体丢失等各种问题.今天给大家介绍的是一种非常简单的方式完成将多个 PDF 文档 ...

  10. 使用xsl将xml转化为HTML文档,基于XSL将XML文档转换为HTML格式文档的方法与流程

    技术特征: 1.一种基于XSL将XML文档转换为HTML格式文档的方法,其特征在于,包括: S1,新建一个与XML文档同名的HTML格式文档: S2,定义转换算法,实现XML文档到HTML格式文档的转 ...

最新文章

  1. CentOS7安装RabbitMQ集群
  2. linux php7 yum 卸载,Linux_在Centos中yum安装和卸载软件的使用方法,安装一个软件时 yum -y install h - phpStudy...
  3. 201403-1-相反数
  4. [数据结构]P2.1 二叉搜索树
  5. MySQL数据库的登陆
  6. 2023天津大学土木水利专业考研成功经验分享
  7. 怎样装系统(附图文教程)
  8. 计算机和影视结合专业,计算机专业专业建设总结与典型案例2.5微电影拍摄与后期制作(影视拍摄与后期制作技术)课....
  9. s7五杀大数据英雄_王者七大记录,五杀最多的英雄竟然有他?这英雄跑的比关羽还快!...
  10. 救灾帐篷惊现高档小区
  11. 为什么要配置环境变量,配置环境变量有什么好处?
  12. 在python中使用ggplot2
  13. 频谱 功率谱 功率谱密度
  14. 线性代数中的矩阵运算P(A,E)是什么意思?
  15. Sicily 1048. Inverso
  16. 怎么查看服务器里的文件夹,如何查看远程服务器里面的文件夹
  17. 【调剂】欢迎调剂重庆理工大学计算机学院(2021年)
  18. 火山小视频服务器维护中,只有20%懂的玩转火山小视频,80%违规!
  19. 【接口平台设计】用例智能推荐
  20. 超级马里奥Demo工程源文件

热门文章

  1. [Render] Unity SRP 概述:可编写脚本的渲染管道
  2. 服务器“**”上的MSDTC不可用的解决办法
  3. 计算机字体颜色太浅,我的打印机打字太淡,如何调,打印的字就能够颜色
  4. android qq第三方登录 实现,Android Studio实现第三方QQ登录操作代码
  5. 视频html5播放器代码实例
  6. [SPOJ CIRU]The area of the union of circles(自适应Simpson积分求圆并面积)
  7. 机器人学导论——操作臂运动学
  8. 【Unity3D日常开发】Unity3D中数字网格类游戏Demo实现
  9. sqlplus连mysql库_sqlplus连接数据库
  10. viewUrl 终结者