说明

因项目需求在项目中集成word生成及处理,本人在系统中进行金格iWebOffice2009的集成以及开发工作。
首先需要一个 iWebOffice2009.ocx.jsp.Oracle 演示包
下载地址在:
http://www.goldgrid.com/jinge_download/Index.aspx?num=5&firstid=11&flag=0&secondid=10

生成jar包

  1. 打开WEB-INF/classes/DBstep

  1. 修改下 iDBManager.java,因为原来金格采用jdbc的方式,我们这里修改成EOS的默认数据源。

3、将三个文件打成doc.jar

  1. 将这个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

页面调整

  1. 部署文件到系统中

如下图所示,

将下列目录和文件
目录: BookMark、Template
文件:DocumentEdit.jsp、DocumentList.jsp、DocumentSave.jsp、iWebOffice2009.cab、 iWebOffice2009.js、OfficeServer.jsp、SaveToOffice.jsp、test.css
拷到系统工程路径pub(我这边是pub,各位可以自己建立)

  1. 根据项目工程需要,修改目录BookMark、Template.用于显示金格 书签和模板配置页面(因为某项目使用utf-8字符集,将文件做下修改)

文件

修改文件内容

BookMark\BookMarkAdd.jsp

1、修改文件字符集
<%@ page contentType="text/html; charset=gb2312" %>
修改为
<%@ page contentType="text/html; charset=UTF-8" %>
2、修改字符编码格式
String mBookMarkName=new String(request.getParameter("BookMarkName").getBytes("8859_1"));
String mBookMarkDesc=new String(request.getParameter("BookMarkDesc").getBytes("8859_1"));
String mBookMarkText=new String(request.getParameter("BookMarkText").getBytes("8859_1"));
修改为
String mBookMarkName=request.getParameter("BookMarkName");
String mBookMarkDesc=request.getParameter("BookMarkDesc");
String mBookMarkText=request.getParameter("BookMarkText");

BookMark\BookMarkAddFrm.jsp
BookMark\BookMarkEdit.jsp
BookMark\BookMarkDel.jsp
BookMark\BookMarkList.jsp
Template\TemplateDel.jsp
Template\TemplateForm.htm
Template\TemplateForm.jsp
Template\TemplateList.jsp
Template\TemplateSave.jsp

1、修改文件字符集
<%@ page contentType="text/html; charset=gb2312" %>
修改为
<%@ page contentType="text/html; charset=UTF-8" %>

BookMark\BookMarkEditFrm.jsp

1、
<%@page contentType="text/html; charset=gb2312" %>
修改为
<%@ page contentType="text/html; charset=UTF-8" %>
2、
<input type="button" name="Del" value="删 除" οnclick="javascript:ConfirmDel('BookMarkDel.asp?BookMarkID=<%=mBookMarkID%>');">
修改为
<input type="button" name="Del" value="删 除" οnclick="javascript:ConfirmDel('BookMarkDel.jsp?BookMarkID=<%=mBookMarkID%>');">

Template\TemplateEdit.jsp

<%@ page contentType="text/html; charset=gb2312" %>
修改为
<%@ page contentType="text/html; charset=UTF-8" %>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
修改为
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  1. 根据项目需求,修改DocumentEdit.jsp、DocumentList.jsp、DocumentSave.jsp、OfficeServer.jsp、SaveToOffice.jsp并且添加 officeCommon.js、demo.jsp、Result.jsp.用于word集成界面和demo界面

DocumentEdit.jsp

1、修改页面字符集和错误。
2、添加 fillTableData(填充表格方法)、genTableData(填充表格+标题)、locationCursor(固定光标方法)
3、扩展mReFileName(文件名)、mUserTemplate(模板套红标志)

DocumentList.jsp

  1. 修改页面字符集和去掉部分页面按钮方法。

DocumentSave.jsp

  1. 修改页面字符集。
  2. 修改页面保存成功之后,继续跳转到本页面的功能(Result.jsp)。

OfficeServer.jsp

  1. 修改PutAtBlob、GetAtBlob等方法。
    为了解决在weblogic容器下面,会出现找不到方法的异常问题。

SaveToOffice.jsp

  1. 修改页面字符集。

officeCommon.js

新增页面
1、用于在某项目 coframe的集成js页面

demo.jsp

新增页面
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a996d6c4-1c06-421c-b915-0c80a58ea818"><ac:plain-text-body><![CDATA[1、用于测试[打开word]、[保存word]、[打开模板]、[填充模板]、[填充文档(普通)]、[填充文档(表格)]、[填充文档(表格)]

]]></ac:plain-text-body></ac:structured-macro>

Result.jsp

新增页面
1、用于保存之后,可以选择继续打开当前word

完工之后 文件夹
见附件(office.rar):

安装客户端

金格提供的下载后运行SETUP.EXE的安装方式。需要借助开发示例包中的InstallClinet.zip文件。处理方法如下:
1、打开金格提供的开发示例包(这里用iWebOffice2009产品jsp语言的开发示例包为例),可以找到里面有一个InstallClinet.zip文件。

将InstallClinet.zip文件解压出来,可以看到里面有多个文件。点击setup.exe
弹出提示框
安装完毕即可。

  1. 正常情况这样安装即可。如果出现安装之后仍然在页面上看不到的情况。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集成应用实例相关推荐

  1. springboot 集成rabbitmq 实例

    springboot 集成rabbitmq 实例 个人在学习rabbitmq时发现网上很少有系统性介绍springboot和rabbitmq如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理 ...

  2. Python机器学习 集成算法实例

    import numpy as np import pandas as pdimport matplotlib.pyplot as plt %matplotlib inlineSEED = 222 n ...

  3. Springboot集成netty实例

    一.简介 netty是jboss提供的一个java开源框架,netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可用性的网络服务器和客户端程序.也就是说netty是一个基于n ...

  4. Springboot集成websocket实例

    一.简介 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数 ...

  5. Spring+Ibatis集成开发实例

    首先简历数据库demo(本文选mysql) 数据库脚本: CREATE TABLE `ibatis` (   `id` varchar(20) NOT NULL,   `name` varchar(2 ...

  6. 【刘文彬】RPC的基础:调研EOS插件http_plugin

    原文链接:www.cnblogs.com/Evsward/p/h- 区块链的应用是基于http服务,这种能力在EOS中是依靠http_plugin插件赋予的. 关键字:通讯模式,add_api,htt ...

  7. 网站集成支付宝的方法和所需资料下载

    越来越多的网站想做网站集成支付宝功能,本文就详细的讲述一下网站集成支付宝的方法和所需资料下载. 一.网站集成支付宝学习流程建议(在本篇文档中,基本都可以找到相关资源下载) 1.阅读<支付宝接口集 ...

  8. SpringBoot | 第九章:Mybatis-plus的集成和使用

    前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...

  9. java swagger ui 教程_java集成Swagger的步骤详解

    本篇文章主要介绍了SpringMVC集成Swagger实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 此前写过一个关于SpringBoot集成Swagger的帖子 ...

  10. 定时任务:springboot集成Quartz实现多任务多触发的动态管理

    本文主要讲解以下几个方面: 1.定时任务的定义及其常见的模式 2.springboot集成quart实例 3.中途会遇到的一些问题 一.定时任务的定义及其常见的模式 1)定时任务的定义 首先要明白的是 ...

最新文章

  1. 搭建Git服务器教程转载
  2. python雷达和柱形图_Python Pygal常见数据图(折线图、柱状图、饼图、点图、仪表图和雷达图)详解...
  3. 想成为一名优秀的Web前端工程师,这5点你要知道
  4. matlabif语句怎么用_公益心 码客行(2)—— 简单语句
  5. sqlmap源码阅读_setPreprocessFunctions和_setPostprocessFunctions
  6. ASP.NET的学习之asp.net整体运行机制
  7. 数据科学 IPython 笔记本 9.1 NumPy
  8. SpringBoot:Mybatis + Druid 数据访问
  9. 【几个关于CSS的网站】
  10. 【语音识别】语音端点检测及Python实现
  11. JS获取url参数,主域名等方法
  12. 图像放缩中最近邻插值和双线性插值的基本原理
  13. 奶瓶(beini)破解无线密码流程:安装、抓包、从虚拟机(VMware)拷贝握手包(拷贝到硬盘、U盘)、跑包...
  14. python实现指纹识别毕业论文_指纹识别算法实现-毕业论文
  15. 创业关于抖音的技术分析与同类产品如何弯道超车的几个问题
  16. 谷歌眼镜公开接受预订,全新宣传视频帅爆了_-Chaz-_新浪博客
  17. HTML图片鼠标滑动加边框,鼠标移动到图片上时,用css怎么实现图片加边框效果?...
  18. [VB.NET]雪花飘的屏保
  19. 关于mscorsvw.exe
  20. CTFHub技能树——备份文件下载

热门文章

  1. 软件测试如何制作简历?
  2. 秋名山直播php源码,【斗鱼直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)...
  3. aliplayer 直播在微信和支付宝浏览器自动播放兼容
  4. Himall商城LinqHelper帮助类(2)
  5. 酷派s6电信版开机显示无服务器,电信版酷派s6刷机教程和方法【图文】
  6. C语言实现读取elf文件某section
  7. 广东省计算机一级常考选择题,广东省计算机一级选择题
  8. 柔性电子综述2014:Wearable Electronics and Smart Textiles 可穿戴电子设备
  9. unity 字体 素材_unity中文字体制作工具
  10. 30天自制操作系统——Day8实验报告