1.    描述:最近项目有个在线编辑office 办公文档的功能, 采用的方案是用 pageoffice 在线编辑 office 文档. 因为高版本的谷歌和火狐不支持任何插件了.所以pageoffice 用pobrowser方法间接弹出一个ie浏览器来实现.弹出的页面称作子页面. 原来的页面称作父页面.

最近有个需求. 在线保存文档之后,需要返回一个自定义值,并且把这个值传到父页面中. 回调父页面中的js函数

2.    核心代码

(1) 保存成功后设置自定义的返回值

(2)页面获取自定义的返回值

(3)关闭弹出窗口的js

(4)回调父页面js函数的方法

3:具体的实现过程

父页面 index.jsp

<script type="text/javascript" src="<%=request.getContextPath()%>/jquery.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/pageoffice.js" id="po_js_main"></script><script type="text/javascript">function getValue(value){alert(value);document.getElementById('returnValue').value= value;}
</script><body><input id="returnValue" value=""/><a href="javascript:POBrowser.openWindowModeless('Word.jsp','width=1200px;height=800px;');">打开文件</a></body>

文档页面

<%@ page language="java"import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"pageEncoding="UTF-8"%>
<%@page import="java.awt.Color"%>
<%PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);//设置服务器页面poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//添加自定义按钮poCtrl.addCustomToolButton("保存", "Save", 1);//设置保存页面poCtrl.setSaveFilePage("SaveFile.jsp");//打开Word文档poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit, "张佚名");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><body><script type="text/javascript">function Save() {//保存document.getElementById("PageOfficeCtrl1").WebSave();//返回值document.getElementById("PageOfficeCtrl1").Alert("保存成功,返回值为:" + document.getElementById("PageOfficeCtrl1").CustomSaveResult);var value = document.getElementById("PageOfficeCtrl1").CustomSaveResult;//调用父页面var sResult = window.external.CallParentFunc("getValue('"+value+"');");if(sResult=='poerror:parentlost'){alert('父页面关闭或跳转刷新了,导致父页面函数没有调用成功!');}//关闭窗口window.external.close();}</script><div style="height: 850px; width: 1036px; overflow: hidden;"><%=poCtrl.getHtmlCode("PageOfficeCtrl1")%></div></body>
</html>

保存页面

<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="utf-8"%>
<%
FileSaver fs=new FileSaver(request,response);
fs.saveToFile("d:\\aa.doc");
fs.setCustomSaveResult("ok");
fs.close();
%>

4:具体效果

转载于:https://my.oschina.net/u/3507515/blog/2988092

pageoffice 在线编辑 word 文档,保存之后返回自定义的值,并把值传到父页面相关推荐

  1. jsp+java用pageoffice在线编辑office文档

    首先你要有三个东西:sealsetup.exe.pageoffice.jar和posetup.exe,如果没有,就去     http://www.zhuozhengsoft.com/download ...

  2. 在线编辑word文档,weboffice在线操作word文档

    在线操作编辑word文档已经是时下ERP和OA系统必须要实现的功能点之一. 下面就来详细讲解一下weboffice是如何实现的. 这里只做简单的程序讲解,原理性的东西不做过分的赘述. 不管你是ajax ...

  3. 在线编辑word文档 可保存到服务器(转)

    使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...

  4. 在线编辑word文档代码

    <html xmlns="http://www.w3.org/1999/xhtml%22 > <head runat="server"> < ...

  5. java 调用office_JAVA调用PageOffice在线打开、编辑Word文档

    普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...

  6. JAVA调用PageOffice在线打开、编辑Word文档

    普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果. 下面我就简单的和大家分享一下如何实现Word文档的 ...

  7. PageOffice调用本地office实现多人在线同时编辑Word文档

    说明:多人同时在线编辑文件大多数会出现文档相互覆盖的问题,后保存的文档会覆盖先保存的文档.pageoffice的这个功能可以用程序控制不同用户打开文件后,编辑Word文档中属于自己的区域,并且不会互相 ...

  8. Java在线打开word文档实现手写批注

    前言: 有些OA系统会有用户在线对word文档添加手写批注的需求,这样的需求看似不好实现,其实是可以实现的. 但是这需要开发者具备将activex控件集成到Java环境的能力.对于大部分Java开发工 ...

  9. Office 365实现多人在线编辑同一个文档(下)

    接下来我要实现多人编辑同一个Excel文件,这里以Source.xlsx为例,右键选择共享 设置共享权限以及共享给谁 权限有如下,如果是发送给别人看,就选择任何人(可向收到此链接的任何人授予访问权限, ...

最新文章

  1. 当CPU飙高时,它在做什么
  2. mysql中索引类型索引方法_MYSQL索引的类型和索引的方式
  3. iio Engine logoHTML5 应用框架 iio Engine
  4. spring 单例 获取多例的位_Spring系列第6篇:玩转bean scope,避免跳坑里!
  5. 一步步编写操作系统 32 linux内核获取内存容量的方法
  6. BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
  7. hive中一个好用的函数reflect
  8. MySQL 练习 创建表格并修改
  9. shiro框架 4种授权方式 说明
  10. paip. c++ doxygen 文档工具的使用以及跟QT CREATOR的集成
  11. Spring IOC源码笔记(三)
  12. 微软私有云资源链接总结分享
  13. 计算机excel还原,Excel文件恢复方法
  14. 流量贵?裂变营销或是低成本营销的最佳选择!
  15. uber司机已经激活了,就是还没有上传头
  16. 关于TypeScript开发的6个小技巧
  17. python xlwt 设置表格的行高方法
  18. 迈思德物联网网关问答集锦
  19. 《网络攻防实践》第四周作业
  20. 弱口令审计-工具用法大全

热门文章

  1. 1药网母公司111集团发布Q4财报:净收入5.6亿,同比大增102%...
  2. 【时态】现在完成进行时
  3. 需要!男朋友快来找我。
  4. 认证过程中常用的加密算法MD5、Base64
  5. QT使用QMediaPlayer + QVideoWidget播放视频文件
  6. DL4J中文文档/模型/顶点
  7. PTA | 实验三 输出m到n之间的全部素数
  8. “大苹果形”身材减寿10年,“鸭梨”表示不山大
  9. Redis之紧凑列表
  10. 实力认可丨立成电商获“天猫五星级运营服务商”荣誉称号