pageoffice集成
pageOffice集成简述
(下列简述是跨域请求,将文件服务器中的文件下载到本地,然后打开,保存之后再次上传到服务器)
1:下载试用版本项目文件
Samples4:
是pageOffice测试项目包,直接可在Tomcat WebApps 中运行,
访问localhost:8080/Samples4/index.html即可访问到pageOffice所有测试案例
集成文件:
lib:是集成项目所需的jar包,
web.xml是集成项目中需要在web.xml中配置的配置内容
2:集成
(1)引入相关js
(2)符合条件的文件添加事件(可将连接分开来写,互相不干扰)
3:java后台页面跳转控制
word_edit.jsp
(1):pageoffice服务配置,必须有
(2):pageoffice操作按钮配置,可视需求而定,
(3):后台响应返回数据
(4):通过文件类型判断打开文件所需要的模板
word_read.jsp就是在word_edit.jsp中保存操作去掉即可
word_save.jsp
如果在java中对文件进行保存可在word_edit.jsp保存设置中直接调用后台保存
tao_hong.jsp (模板后缀和要套红的后缀必须一致,否则可能导致文件损坏)
<%@page import="com.jrfmail.common.util.FileUtils"%>
<%@page import="java.net.URLEncoder"%>
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*,java.sql.*,java.io.*,javax.servlet.*,javax.servlet.http.*"
pageEncoding="utf-8"%>
<%@page import="com.zhuozhengsoft.pageoffice.wordwriter.DataRegion"%>
<%@page import="com.zhuozhengsoft.pageoffice.wordwriter.WordDocument"%>
<%!
public void copyFile(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
//System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
} catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}
%>
<%
//获取需要的数据
String fileName = (String)request.getAttribute("fileName");
Integer fileId = (Integer)request.getAttribute("fileId");
Integer userId = (Integer)request.getAttribute("userId");
String userName = (String)request.getAttribute("userName");
String mbName = request.getParameter("mb");
//***************************卓正PageOffice组件的使用********************************
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
poCtrl1.setCustomToolbar(false);
poCtrl1.setSaveFilePage("word_save.do?fileId="+fileId);
System.out.println(fileName);
String webFileName = URLEncoder.encode(fileName, "UTF-8");
if (mbName != null && mbName.trim() != "") {
// 选择模板后执行套红
// 复制模板,命名为正式发文的文件名:zhengshi.doc
String templateName = request.getParameter("mb");
System.out.print(templateName);
String templatePath = getServletContext().getRealPath(templateName);
String filePath = getServletContext().getRealPath("/temp/"+userId+"/" + fileName);
//copyFile(templatePath,filePath);
// 填充数据和正文内容到“zhengshi.doc”
WordDocument doc = new WordDocument();
//DataRegion copies = doc.openDataRegion("PO_Copies");
//copies.setValue("6");
DataRegion docNum = doc.openDataRegion("PO_DocNum");
// docNum.setValue("001");
//DataRegion issueDate = doc.openDataRegion("PO_IssueDate");
//issueDate.setValue("2013-5-30");
// DataRegion issueDept = doc.openDataRegion("PO_IssueDept");
//issueDept.setValue("开发部");
DataRegion sTextS = doc.openDataRegion("PO_STextS");
sTextS.setValue("[word]/temp/"+userId+"/"+webFileName+"[/word]");//写公司文件的路径
DataRegion sTitle = doc.openDataRegion("PO_sTitle");
//sTitle.setValue("文件");
DataRegion topicWords = doc.openDataRegion("PO_TopicWords");
//topicWords.setValue("Pageoffice、 套红");
poCtrl1.setWriter(doc);
poCtrl1.webOpen(templateName, OpenModeType.docNormalEdit, userName);
}else {
System.out.println("/temp/"+userId+"/" + webFileName);
poCtrl1.webOpen("/temp/"+userId+"/" + webFileName, OpenModeType.docNormalEdit, userName);
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<link href="images/csstg.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
//初始加载模板列表
function load() {
if (getQueryString("mb") != null)
document.getElementById("templateName").value = getQueryString("mb");
}
//获取url参数
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
else
return null;
}
//套红
function taoHong() {
var mb = document.getElementById("templateName").value;
document.getElementById("form1").action = "/mail/show_word.do?id=<%=fileId%>&showType=3&mb=" + mb;
document.forms[0].submit();
}
//保存并关闭
function saveAndClose() {
document.getElementById("PageOfficeCtrl1").WebSave();
window.external.close();
}
</script>
</head>
<body οnlοad="load();" >
<div id="content">
<div id="textcontent" style="width: 1000px; height: 800px;">
<div class="flow4">
<span style="width: 100px;"> </span><strong>文档主题:</strong>
<span style="color: Red;">测试文件</span>
<form method="post" id="form1">
<strong>模板列表:</strong>
<span style="color: Red;"> <select name="templateName"
id="templateName" style='width: 240px;'>
<option value='/temp/taohong/temp2008.doc' selected="selected">
模板一
</option>
<option value='/temp/taohong/temp2009.doc'>
模板二
</option>
<option value='/temp/taohong/temp2010.doc'>
模板三
</option>
</select> </span>
<span style="color: Red;"><input type="button" value="一键套红"
οnclick="taoHong()"/> </span>
<span style="color: Red;"><input type="button" value="保存关闭"
οnclick="saveAndClose()"/> </span>
</form>
</div>
<%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
</div>
</div>
</body>
</html>
pageoffice集成相关推荐
- ①. SpringBoot整合PageOffice实现在线编辑Word和Excel
①. SpringBoot整合PageOffice实现在线编辑Word和Excel PageOffice官网: http://www.zhuozhengsoft.com/ PageOffice集成说明 ...
- 用pageOffice文档控件实现 office文档在线编辑
第三方文档控件,pageOffice 系统开发中经常要处理办公文档,如果word,excel,ppt,编辑整理,保存,归档. 开发市场上也有很多第三文文档控件,多年的总结,还是认为pageOffice ...
- VBA实现为Excel中自定义名称的单元格添加批注
一.本地office中通过创建宏实现此需求 1.打开一个Excel文件,在需要插入批注的单元格右击-定义名称(myTable1).点击菜单栏-视图-宏-查看宏-输入宏名-创建宏 2.进入VBA编辑 ...
- Java实现合并word文档并打开合并后文档
前言: 有时我们的系统中有这样的需求:用户将文件上传到服务器,然后需要我们将其中一篇文档当做段落插入到另一篇文档中. 要完成这种需求,如果从头到尾由我们自己来实现的话,首先要会集成ActiveX控件, ...
- java 在线给word 文件插入图片,并设置图片大小
一.前言: 有时我们想在一篇word文档中的指定位置添加一张服务器上的图片,并且并且设置图片大小.这个对文档的操作一定是需要第三方api的.市面上对文档处理的插件有POI以及openoffice等等, ...
- Java集成PageOffice在线打开编辑word文件 - Spring Boot
开发环境:JDK1.8.Eclipse.Sping Boot + Thymeleaf框架. 一. 构建Sping Boot + Thymeleaf框架的项目(不再详述): 1. 新建一个maven p ...
- java office 集成开发_[转载]Java集成PageOffice在线打开编辑word文件 - Spring Boot
开发环境:JDK1.8.Eclipse.Sping Boot + Thymeleaf框架. 一. 构建Sping Boot + Thymeleaf框架的项目(不再详述): 1. 新建一个maven p ...
- Vue+springboot集成PageOffice实现在线编辑Word、excel文档
说明: PageOffice是一款在线的office编辑软件,帮助Web应用系统或Web网站实现用户在线编辑Word.Excel.PowerPoint文档.可以完美实现在线公文流转,领导批阅,盖章.可 ...
- Vue+SpringBoot 集成 PageOffice 实现在线编辑Word、excel文档
说明: PageOffice是一款在线的office编辑软件,帮助Web应用系统或Web网站实现用户在线编辑Word.Excel.PowerPoint文档.可以完美实现在线公文流转,领导批阅,盖章.可 ...
最新文章
- chrome inspect 离线调试-工具包 怎么使用
- GetLongPathName和GetShortPathName函数
- 3.5 矩阵 $4$ 个空间和方程 $A\mathbf{x}=\mathbf{y}$ 的关系
- QT [006][basic] explicit关键字详解
- Android doc |Getting Started|部分 部分译文 --Building Your First App
- Spring使用Cache、整合Ehcache
- PDF Checkpoint for mac(pdf文件批量处理工具)
- 电烤箱计算机控制系统,台式电烤箱及其控制系统 Desktop oven and control system
- 如何设置.net控件SplitContainer平均分配
- Endnote IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS/TIE/TPEL 参考文献格式模板
- delphi控制excel ,在指定单元格后插入行
- java 100%3.0_java经典选择题100例及答案
- win10 桌面颜色变成灰色
- python123程序设计题说句心里话a_C程序设计基础(2019年春)-中国大学mooc-试题题目及答案...
- 原来这才是折叠屏的刚需...
- 连接查询之内连接(等值连接、非等值连接和自连接)
- 图解Java多线程设计模式——Java多线程基础
- win10计算机配置在哪里打开,详细教您win10设备管理器在哪打开
- 谭浩强c语言不讲位运算呢,谭浩强c语言教程_第十二章-位运算谭浩强c语言教程_第十二章-位运算.doc...
- Qt 打印机打印条形码,二维码
热门文章
- 契约测试框架-Pact实践
- 【信息论】互信息I(X;Y)中H(X)怎么推导出来——p(x)怎么变成p(x,y)
- 【精通Java篇 | Java序列化】详讲(反)序列化对象、序列化\反序列化流
- 千年3单机修改服务器经验,千年3练级挂经验
- php英文翻译,利用有道翻译Api实现英文翻译效能
- PHP版本百度翻译有道云翻译讯飞云翻译api相关接口
- 云原生|kubernetes|部署MySQL一主多从复制集群(基于Binlog+Position的复制)
- P2881 [USACO07MAR]Ranking the Cows G
- runTime runLoop
- TypeScript和JavaScript的区别,全面解读超详细