使用PageOffice实现文档(word,excel,pdf)在线预览编辑[通俗易懂] 您所在的位置:网站首页 如何打印在线预览文档 使用PageOffice实现文档(word,excel,pdf)在线预览编辑[通俗易懂]

使用PageOffice实现文档(word,excel,pdf)在线预览编辑[通俗易懂]

2024-06-18 17:06| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

代码语言:javascript复制最近发现一款不错的插件的PageOffice,地址是:http://www.zhuozhengsoft.com/Technical/ 他可以实现word,excel、pdf在线预览以及在线编辑。虽然商用的话需要收费,但是有免费的试用版,在实现自己毕业设计或是做样品的时候 是一个不错的选择。他同时支持java\c#\php.一旦有了正真的项目花钱再买也可以。同时自己也可以熟悉如何使用。接着下面实现在线预览。

首先自己需要安装PageOffice控件 目前最新版本是4.2 。下载地址是:http://www.zhuozhengsoft.com/dowm/ 其中包括实例代码。

1、安装完后需要给自己的项目添加pageoffice4.jar 和java 添加jar包没有区别。

2、启动的时候第一次使用试用版会弹出一个框,需要添加一些信息,有一个序列号在最后我写了。剩下 那个就是随便填写就可以。同时他会生成一个文件就是license.lic。他会在tomcat 项目部署的lib下。假如每次启动都需要添加的话。你就需要把tomcat 部署项目lib 里的license.lic 复制到你的本地项目中。

3、预览后台代码:

代码语言:javascript复制 public String openbar(HttpServletRequest request, HttpServletResponse response, @PathVariable int id, @PathVariable int flag) { // 设置PageOffice服务器组件 PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); request.setAttribute("poCtrl1", poCtrl1); poCtrl1.setServerPage(request.getContextPath() + "/poserver.zz"); // 此行必须 poCtrl1.setTitlebar(false); // 隐藏标题栏(pageoffice的标题) poCtrl1.setMenubar(false); // 隐藏菜单栏(文件一个设置) poCtrl1.setOfficeToolbars(false);// 隐藏Office工具条(word 的编辑按钮) // poCtrl1.setCustomToolbar(false);// 隐藏自定义工具栏(保存 关闭 全屏) poCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6); poCtrl1.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4); poCtrl1.addCustomToolButton("关闭", "close", 21); List entity = fileMetaService.getList(getEntity(flag, id)); String path = ZipService.getPath(entity.get(0)); String realpath = path.replace("/", "\\\\"); String suffix = path.substring(path.lastIndexOf(".") + 1); if ("doc".equals(suffix) || "docx".equals(suffix)) { poCtrl1.webOpen(realpath, OpenModeType.docReadOnly, "张三"); } else if ("xls".equals(suffix) || "xlsx".equals(suffix)) { poCtrl1.webOpen(realpath, OpenModeType.xlsReadOnly, "张三"); } // 打开文件 return "OpenWord"; }

4’、在线编辑:

代码语言:javascript复制/** * 在线编辑 * * @param request * @param response * @param id * @param flag * @return */ @RequestMapping("openword/{flag}/{id}") public String openword(HttpServletRequest request, HttpServletResponse response, @PathVariable int id, @PathVariable int flag) { PageOfficeCtrl poCtrl = new PageOfficeCtrl(request); request.setAttribute("poCtrl", poCtrl); poCtrl.setTitlebar(false); // 设置服务页面 poCtrl.setServerPage(request.getContextPath() + "/poserver.zz"); // 添加保存按钮 poCtrl.addCustomToolButton("保存并关闭", "Save", 1); poCtrl.addCustomToolButton("打印", "ShowPrintDlg()", 6); poCtrl.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4); // 设置保存的action poCtrl.setSaveFilePage(request.getContextPath() + "/wep/savefile/" + flag); // 打开word List entity = fileMetaService.getList(getEntity(flag, id)); String path = ZipService.getPath(entity.get(0)); String realpath = path.replace("/", "\\\\"); String suffix = path.substring(path.lastIndexOf(".") + 1); if ("doc".equals(suffix) || "docx".equals(suffix)) { poCtrl.webOpen(realpath, OpenModeType.docNormalEdit, "张三"); } else if ("xls".equals(suffix) || "xlsx".equals(suffix)) { poCtrl.webOpen(realpath, OpenModeType.xlsNormalEdit, "张三"); } return "Word"; }

5、在线编辑需要保存,所以有在线保存:

代码语言:javascript复制/** * 保存 * * @param request * @param response * @param flag */ @RequestMapping("savefile/{flag}") public void savefile(HttpServletRequest request, HttpServletResponse response, @PathVariable int flag) { FileSaver fs = new FileSaver(request, response); if (flag == 1) {// hse 保存路径 fs.saveToFile("D:\\Demo\\conhse\\" + fs.getFileName()); } else if (flag == 2) { fs.saveToFile("D:\\Demo\\doc\\" + fs.getFileName()); } else if (flag == 3) { fs.saveToFile("D:\\Demo\\hsequa\\" + fs.getFileName()); } else if (flag == 4) { fs.saveToFile("D:\\Demo\\eva\\" + fs.getFileName()); } else if (flag == 5) { fs.saveToFile("D:\\Demo\\leg\\" + fs.getFileName()); } else if (flag == 6) { fs.saveToFile("D:\\Demo\\plan\\" + fs.getFileName()); } fs.close(); }

6、web-xml配置

代码语言:javascript复制 poserver com.zhuozhengsoft.pageoffice.poserver.Server poserver /poserver.zz poserver /sealsetup.exe poserver /posetup.exe poserver /pageoffice.js poserver /jquery.min.js poserver /pobstyle.css adminseal com.zhuozhengsoft.pageoffice.poserver.AdminSeal adminseal /adminseal.zz adminseal /loginseal.zz adminseal /sealimage.zz mht message/rfc822 adminseal-password 111111

7、jsp配置

代码语言:javascript复制 最简单的打开保存Word文件 function Save() { document.getElementById("PageOfficeCtrl1").WebSave(); POBrowser.closeWindow();//关闭POBrowser窗口 } function ShowPrintDlg() { document.getElementById("PageOfficeCtrl1").ShowDialog(4); //打印对话框 } function SwitchFullScreen() {//全屏 document.getElementById("PageOfficeCtrl1").FullScreen = !document .getElementById("PageOfficeCtrl1").FullScreen; }

注意:有时候jsp 和他的js 不在同一个目录, 这时候在jsp页面 使用 function getPageOfficeJsUrl(){var d=document.URL;var c=d.substring(0,find(d,”/”,3)+1);var a=d.substring(0,find(d,”/”,4)+1);var f=new Array();f[0]=c;f[1]=a;for(var b=0;b0){d=d.substring(0,d.indexOf(“?”))}var g=countChar(d.substring(f[b].length),”/”);for(var i=0;i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有