前言:
在我们的OA系统中,有时需要将某段文字字体/大小/颜色/段落样式做一个统一修改,或者直接在某个位置插入一段带样式的内容。这就需要我们学习微软activex控件的使用了。但是这需要开发者具备将activex控件集成到Java环境的能力。对于大部分Java开发工程师来说,仅仅解决单一的功能就要掌握activex控件,未免学习成本太大。
所以我们今天就要介绍一个中间件技术——pageoffice,此中间件技术已经将 在web系统操作office文档的大部分功能整合完毕,大家只需要关注自己web系统的业务逻辑即可,学习成本低,且功能很丰富。下面我们来实战用pageoffice实现一下用Java修改某段word中文字字体/大小/颜色/段落样式的功能。
先看效果:

部署步骤(只需4步)
1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml

去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中
2.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button
写a标签之前先引入pageoffice需要的js文件
<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>
然后添加a标签
<a href="javascript:POBrowser.openWindowModeless('Default.jsp' , 'width=1200px;height=800px;');">控制数据区域文本的样式</a>
3.在父页面同级目录下创建一个名为Default.jsp的文件
<%@ page language="java" import="java.util.*,java.awt.*"
pageEncoding="utf-8"%>
<%@page
import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>
<%
WordDocument doc = new WordDocument();
DataRegion d1 = doc.openDataRegion("PO_d1");
d1.getFont().setColor(Color.BLUE);//设置数据区域文本字体颜色
d1.getFont().setName("华文彩云");//设置数据区域文本字体样式
d1.getFont().setSize(16);//设置数据区域文本字体大小
d1.getParagraphFormat().setAlignment(
WdParagraphAlignment.wdAlignParagraphCenter);//设置数据区域文本对齐方式
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setWriter(doc);
//设置服务器页面
poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
//设置文档打开方式
poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<link href="images/csstg.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="textcontent" style="width: 1000px; height: 800px;">
<!--************** 卓正 PageOffice组件 ************************-->
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
</body>
</html>
4.新建文件
新建一个名为test.doc的word文件(如果新建的是docx文件就将第三步的poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");代码改为poCtrl.webOpen("test.docx", OpenModeType.docNormalEdit, "张三");
将新建的test.doc文件放在Default.jsp同级目录下。
本地打开test.doc文件,随意输入一段文字,然后选中一部分内容。
在选中的情况下,点击菜单栏插入-书签--书签名设置为PO_d1--点击添加(书签名称格式为PO_开头,比如自己设置的书签名为PO_T001,那么记得将第三步中的DataRegion d1 = doc.openDataRegion("PO_d1");改为 DataRegion d1 = doc.openDataRegion("PO_T001");)。

然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码Q37LN-W8NI-KFSQ-LEY3Y就可以打开文档.
注意:如果需要更丰富的功能,可以去pageoffice官网下载示例代码直接将samples4文件夹拷贝到Tomcat的webapps下,启动Tomcat,浏览器访问http://localhost:8080/Samples4/index.html,查看示例中的下面一个链接,直接看samples4文件夹下DataRegionText文件夹里面的代码.

刚开始接触pageoffice的话,也可以看视频快速上手http://www.zhuozhengsoft.com/Technical/

如有侵权,请联系博主
本文介绍了一种使用PageOffice中间件在Java环境下修改Word文档中文字字体、大小、颜色和段落样式的实践方法。通过4步简单部署,包括引入jar包、配置web.xml、创建页面和设置书签,可以实现在Web系统中操作Office文档的高效功能。
817

被折叠的 条评论
为什么被折叠?



