EOS与金格iWebOffice集成应用实例
说明
因项目需求在项目中集成word生成及处理,本人在系统中进行金格iWebOffice2009的集成以及开发工作。
首先需要一个 iWebOffice2009.ocx.jsp.Oracle 演示包
下载地址在:
http://www.goldgrid.com/jinge_download/Index.aspx?num=5&firstid=11&flag=0&secondid=10
生成jar包
- 打开WEB-INF/classes/DBstep
- 修改下 iDBManager.java,因为原来金格采用jdbc的方式,我们这里修改成EOS的默认数据源。
3、将三个文件打成doc.jar
- 将这个jar包放在lib目录下(例如我这里就是
/org.gocom.components.coframe.core/eos-web/WEB-INF/lib),
在工程中导入这个jar包
.classpath 文件:
<classpathentry kind="lib"
path="/org.gocom.components.coframe.core/eos-web/WEB-INF/lib/doc.jar"/>
附件:doc.jar
页面调整
- 部署文件到系统中
如下图所示,
将下列目录和文件
目录: BookMark、Template
文件:DocumentEdit.jsp、DocumentList.jsp、DocumentSave.jsp、iWebOffice2009.cab、 iWebOffice2009.js、OfficeServer.jsp、SaveToOffice.jsp、test.css
拷到系统工程路径pub(我这边是pub,各位可以自己建立)
- 根据项目工程需要,修改目录BookMark、Template.用于显示金格 书签和模板配置页面(因为某项目使用utf-8字符集,将文件做下修改)
文件 |
修改文件内容 |
BookMark\BookMarkAdd.jsp |
1、修改文件字符集 |
BookMark\BookMarkAddFrm.jsp |
1、修改文件字符集 |
BookMark\BookMarkEditFrm.jsp |
1、 |
Template\TemplateEdit.jsp |
<%@ page contentType="text/html; charset=gb2312" %> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> |
- 根据项目需求,修改DocumentEdit.jsp、DocumentList.jsp、DocumentSave.jsp、OfficeServer.jsp、SaveToOffice.jsp并且添加 officeCommon.js、demo.jsp、Result.jsp.用于word集成界面和demo界面
DocumentEdit.jsp |
1、修改页面字符集和错误。 |
|
DocumentList.jsp |
|
|
DocumentSave.jsp |
|
|
OfficeServer.jsp |
|
|
SaveToOffice.jsp |
|
|
officeCommon.js |
新增页面 |
|
demo.jsp |
新增页面 |
]]></ac:plain-text-body></ac:structured-macro> |
Result.jsp |
新增页面 |
完工之后 文件夹
见附件(office.rar):
安装客户端
金格提供的下载后运行SETUP.EXE的安装方式。需要借助开发示例包中的InstallClinet.zip文件。处理方法如下:
1、打开金格提供的开发示例包(这里用iWebOffice2009产品jsp语言的开发示例包为例),可以找到里面有一个InstallClinet.zip文件。
将InstallClinet.zip文件解压出来,可以看到里面有多个文件。点击setup.exe
弹出提示框
安装完毕即可。
- 正常情况这样安装即可。如果出现安装之后仍然在页面上看不到的情况。CMD运行:Regsvr32 C:"Program Files (x86)"\iWebOffice2009\iWebOffice2009.ocx见帖子外面的附件(InstallClinet.zip)
初始化数据库脚本
运行目录中DBDemo.Oracle.txt。可以初始化运行环境
配置标签
部署office压缩包代码到工程之下pub之后
运行 http://127.0.0.1:8080/default/pub/office/BookMark/BookMarkList.jsp
点击"增加标签"
填写标签名称、标签说明、标签备注,保存即可
配置模板
部署office压缩包代码到工程之下pub之后
运行 http://127.0.0.1:8080/default/pub/office/Template/TemplateList.jsp
点击新增word模板,打开如下界面;在word文档中,选中一个空格的数据,点击"定义标签"
打开"模板标签管理"页面,点击"请选择标签"
选中一个点击"添加",即可在word模板中添加一个标签。
在后续的开发中,只要将对应的标签进行塞值可以动态展现。
Demo展示和成品展示
在引用的页面只需要
第一:引入officeCommon.js
<script
type="text/javascript" src="<%=contextPath%>/pub/office2003/officeCommon.js"></script>
第二:进入word展示的页面,初始化
var iwo = new iWebOffice();
iwo.init("testDiv");s
第三:调用officeCommon.js中的方法进行一系列的操作。
//查看文件
iwo.loadFile({otype:'view',docid:recordID});//打印sss
iwo.print();//编辑
iwo.loadFile({otype:'edit',docid:recordID});//按模板新增
iwo.loadFile({otype:'add',fileType:'.doc',template:'1428485492306',Subject:'模板测试',UserName:'演示人'});//空word新增
iwo.loadFile({otype:'add',fileType:'.doc',Subject:'空word测试',UserName:'演示人'});//保存
iwo.saveData();//往模板中插值
iwo.pushData({'Author':'test'});//生成表格
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="9fafe2c8-924b-481c-b647-932501baa9df"><ac:plain-text-body><![CDATA[ var table_data_array = [
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="82286072-d854-4f65-b0e7-c55519ac7431"><ac:plain-text-body><![CDATA[ ['1','登记表'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="47a25ab2-ffb1-4542-8ad2-0bdb9cca4bfe"><ac:plain-text-body><![CDATA[ ['2','申请书'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0e8b4dc3-79ce-4eeb-b9c5-90d87ce9cd19"><ac:plain-text-body><![CDATA[ ['3','证明材料'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="bfb3f100-3a1a-42af-a059-d5d487003951"><ac:plain-text-body><![CDATA[ ['4','证件'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b0aff21b-83b6-491f-b8c7-31ebaa71e739"><ac:plain-text-body><![CDATA[ ['5','信息资料'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="634746c7-d183-4d06-9459-77a4f47964cd"><ac:plain-text-body><![CDATA[ ['6','aaa'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e957d43a-2930-42df-af7b-f53f6fc79ef5"><ac:plain-text-body><![CDATA[ ['7','bbb'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="714d2ae0-6652-4d3b-ae4c-e9c57b45fba4"><ac:plain-text-body><![CDATA[ ['8','ccc']
]]></ac:plain-text-body></ac:structured-macro>
];
iwo.fillTable('testFillTable',table_data_array);//生成表格+标题
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="46021c3d-eb71-41b9-89ef-5efc4c5ce41a"><ac:plain-text-body><![CDATA[ var table_data_array = [
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e09cf737-3f09-43aa-8137-2d1614071c3f"><ac:plain-text-body><![CDATA[ ['编号','姓名'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="15a344d8-1700-46c6-8aea-8ed0b71adc3a"><ac:plain-text-body><![CDATA[ ['1','江骥'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6439a3be-6ad5-4295-bccb-68c53795d88b"><ac:plain-text-body><![CDATA[ ['2','肖斌'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1849bedb-79f5-4037-ab68-e41a288c418d"><ac:plain-text-body><![CDATA[ ['3','11明材料'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d6afcc95-192e-47cf-a65b-0c7acaa6def5"><ac:plain-text-body><![CDATA[ ['4','证111'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4f086ddc-095a-4a37-8e9c-ed2771cfe161"><ac:plain-text-body><![CDATA[ ['5','信息资料'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="320d9c44-6769-4f51-8539-47719940bb75"><ac:plain-text-body><![CDATA[ ['6','aaa'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4b4bb953-a4e6-4d61-b26b-c9c835999d5d"><ac:plain-text-body><![CDATA[ ['7','bbb'],
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3401b553-f39f-461b-88bb-f21afc78c794"><ac:plain-text-body><![CDATA[ ['8','ccc']
]]></ac:plain-text-body></ac:structured-macro>
];
iwo.genTable('genTable',table_data_array,'Title','***测试此表格的标题***');
Demo展示
iWebOffice控件更换版本
若需要更换版本,只需要修改或者替换
iWebOffice2009.js、iWebOffice2009.cab
比方说从iWebOffice2009替换成 iWebOffice2003
1、只需要替换掉 iWebOffice2009.cab ,改为 iWebOffice2003.ocx
2、然后修改iWebOffice2009.js中
var str = '';
str += '<object id="WebOffice" width="100%" height="100%" classid="clsid:8B23EA28-2009-402F-92C4-59BE0E063499" codebase="iWebOffice2009.cab#version=10,8,0,2">';
str += '</object>';
document.write(str);
为 iWebOffice2003.js
var str = '';
str += '<object id="WebOffice" width="100%" height="100%" classid="clsid:23739A7E-5741-4D1C-88D5-D50B18F7C347" codebase="iWebOffice2003.ocx#version=8,2,6,0">';
str += '</object>';
document.write(str);
【原文链接】
http://doc.primeton.com/pages/viewpage.action?pageId=61924493
EOS与金格iWebOffice集成应用实例相关推荐
- springboot 集成rabbitmq 实例
springboot 集成rabbitmq 实例 个人在学习rabbitmq时发现网上很少有系统性介绍springboot和rabbitmq如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理 ...
- Python机器学习 集成算法实例
import numpy as np import pandas as pdimport matplotlib.pyplot as plt %matplotlib inlineSEED = 222 n ...
- Springboot集成netty实例
一.简介 netty是jboss提供的一个java开源框架,netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可用性的网络服务器和客户端程序.也就是说netty是一个基于n ...
- Springboot集成websocket实例
一.简介 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数 ...
- Spring+Ibatis集成开发实例
首先简历数据库demo(本文选mysql) 数据库脚本: CREATE TABLE `ibatis` ( `id` varchar(20) NOT NULL, `name` varchar(2 ...
- 【刘文彬】RPC的基础:调研EOS插件http_plugin
原文链接:www.cnblogs.com/Evsward/p/h- 区块链的应用是基于http服务,这种能力在EOS中是依靠http_plugin插件赋予的. 关键字:通讯模式,add_api,htt ...
- 网站集成支付宝的方法和所需资料下载
越来越多的网站想做网站集成支付宝功能,本文就详细的讲述一下网站集成支付宝的方法和所需资料下载. 一.网站集成支付宝学习流程建议(在本篇文档中,基本都可以找到相关资源下载) 1.阅读<支付宝接口集 ...
- SpringBoot | 第九章:Mybatis-plus的集成和使用
前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...
- java swagger ui 教程_java集成Swagger的步骤详解
本篇文章主要介绍了SpringMVC集成Swagger实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 此前写过一个关于SpringBoot集成Swagger的帖子 ...
- 定时任务:springboot集成Quartz实现多任务多触发的动态管理
本文主要讲解以下几个方面: 1.定时任务的定义及其常见的模式 2.springboot集成quart实例 3.中途会遇到的一些问题 一.定时任务的定义及其常见的模式 1)定时任务的定义 首先要明白的是 ...
最新文章
- 搭建Git服务器教程转载
- python雷达和柱形图_Python Pygal常见数据图(折线图、柱状图、饼图、点图、仪表图和雷达图)详解...
- 想成为一名优秀的Web前端工程师,这5点你要知道
- matlabif语句怎么用_公益心 码客行(2)—— 简单语句
- sqlmap源码阅读_setPreprocessFunctions和_setPostprocessFunctions
- ASP.NET的学习之asp.net整体运行机制
- 数据科学 IPython 笔记本 9.1 NumPy
- SpringBoot:Mybatis + Druid 数据访问
- 【几个关于CSS的网站】
- 【语音识别】语音端点检测及Python实现
- JS获取url参数,主域名等方法
- 图像放缩中最近邻插值和双线性插值的基本原理
- 奶瓶(beini)破解无线密码流程:安装、抓包、从虚拟机(VMware)拷贝握手包(拷贝到硬盘、U盘)、跑包...
- python实现指纹识别毕业论文_指纹识别算法实现-毕业论文
- 创业关于抖音的技术分析与同类产品如何弯道超车的几个问题
- 谷歌眼镜公开接受预订,全新宣传视频帅爆了_-Chaz-_新浪博客
- HTML图片鼠标滑动加边框,鼠标移动到图片上时,用css怎么实现图片加边框效果?...
- [VB.NET]雪花飘的屏保
- 关于mscorsvw.exe
- CTFHub技能树——备份文件下载
热门文章
- 软件测试如何制作简历?
- 秋名山直播php源码,【斗鱼直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)...
- aliplayer 直播在微信和支付宝浏览器自动播放兼容
- Himall商城LinqHelper帮助类(2)
- 酷派s6电信版开机显示无服务器,电信版酷派s6刷机教程和方法【图文】
- C语言实现读取elf文件某section
- 广东省计算机一级常考选择题,广东省计算机一级选择题
- 柔性电子综述2014:Wearable Electronics and Smart Textiles 可穿戴电子设备
- unity 字体 素材_unity中文字体制作工具
- 30天自制操作系统——Day8实验报告