pageoffice 骑缝章_PageOffice 页面中打开office编辑文档

2023-11-12

---pom.xml

com.zhuozhengsoft

pageoffice

4.5.0.6

--------------web.xml

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

---------service方法

/**

* 读写服务器文档资源

*/

@Override

public void readAndWirte(HttpServletRequest request,String fileSavePath) {

//前台传来的文件路径

String filePath = request.getParameter("filePath");

filePath=filePath.replace("/", "\\");

String fileName = filePath.substring(filePath.lastIndexOf("\\")+1);

// 设置PageOffice服务器组件

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage(request.getContextPath() + "/poserver.zz"); // 此行必须

poCtrl1.setTitlebar(false); // 隐藏标题栏(pageoffice的标题)

poCtrl1.setFileTitle(fileName);

poCtrl1.setMenubar(true); // 隐藏菜单栏(文件一个设置)

poCtrl1.setOfficeToolbars(true);// 隐藏Office工具条(word 的编辑按钮)

poCtrl1.setCustomToolbar(true);// 隐藏自定义工具栏(保存 关闭 全屏)

poCtrl1.addCustomToolButton("保存并关闭", "Save", 1);

poCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6);

poCtrl1.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4);

// 设置保存路径

poCtrl1.setSaveFilePage(request.getSession().getServletContext()

.getContextPath()

+ fileSavePath+"?fileId="+request.getParameter("fileId"));

//根据文件类型判断

String wordType=filePath.substring(filePath.lastIndexOf(".")+1);

//打开的文档类型

if("doc".equals(wordType)||"docx".equals(wordType)){

// word

poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, "Word.Document");

}else if("ppt".equals(wordType)||"pptx".equals(wordType)){

// ppt

poCtrl1.webOpen(filePath, OpenModeType.pptNormalEdit, "Word.Document");

}else if("xls".equals(wordType)||"xlsx".equals(wordType)){

// excel

poCtrl1.webOpen(filePath, OpenModeType.xlsNormalEdit, "Word.Document");

}

// 文件打开形式 office/wps

poCtrl1.setOfficeVendor(OfficeVendorType.MSOffice);

// 页面展示的控件ID

poCtrl1.setTagId("PageOfficeCtrl1");

request.setAttribute("poCtrl1", poCtrl1);

request.setAttribute("filePath", filePath);

}

/**

* 只读服务器文档资源

*/

@Override

public void readOnly(HttpServletRequest request) {

// //前台传来的文件路径

String filePath = request.getParameter("filePath");

filePath=filePath.replace("/", "\\");

String fileName = filePath.substring(filePath.lastIndexOf("\\")+1);

// 设置PageOffice服务器组件

// 设置PageOffice服务器组件

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage(request.getContextPath() + "/poserver.zz"); // 此行必须

poCtrl1.setTitlebar(false); // 隐藏标题栏(pageoffice的标题)

poCtrl1.setMenubar(true); // 隐藏菜单栏(文件一个设置)

poCtrl1.setOfficeToolbars(false);// 隐藏Office工具条(word 的编辑按钮)

poCtrl1.setCustomToolbar(true);// 隐藏自定义工具栏(保存 关闭 全屏)

poCtrl1.addCustomToolButton("关闭", "CloseWindow()", 1);

poCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6);

poCtrl1.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4);

try {

request.setCharacterEncoding("utf-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

//根据文件类型判断

String wordType=fileName.substring(fileName.lastIndexOf(".")+1);

//打开的文档类型

if("doc".equals(wordType)||"docx".equals(wordType)){

// word

poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, "Word.Document");

}else if("ppt".equals(wordType)||"pptx".equals(wordType)){

// ppt

poCtrl1.webOpen(filePath, OpenModeType.pptNormalEdit, "Word.Document");

}else if("xls".equals(wordType)||"xlsx".equals(wordType)){

// excel

poCtrl1.webOpen(filePath, OpenModeType.xlsNormalEdit, "Word.Document");

}

// 文件打开形式 office/wps

poCtrl1.setOfficeVendor(OfficeVendorType.MSOffice);

// 页面展示的控件ID

poCtrl1.setTagId("PageOfficeCtrl1");

request.setAttribute("poCtrl1", poCtrl1);

request.setAttribute("pageTitle", fileName);

}

/**

* PageOffice服务器文档资源保存

*/

@Override

public void fileSave(HttpServletRequest request,

HttpServletResponse response) throws Exception {

request.setCharacterEncoding("utf-8");

FileSaver fs = new FileSaver(request, response);

// 文件路径

String filePath = attachmentService.findOne(request.getParameter("fileId")).getUrl();

filePath=filePath.replace("/", "\\");

fs.saveToFile(filePath);

fs.close();

}

--------页面走后台跳转,需要用pobrowser 防止浏览器不支持

---------------------打开的页面设置

function Save() {

document.getElementById("PageOfficeCtrl1").WebSave();

window.external.close();//关闭POBrowser窗口

}

function ShowPrintDlg() {

document.getElementById("PageOfficeCtrl1").ShowDialog(4); //打印对话框

}

function SwitchFullScreen() {//全屏

document.getElementById("PageOfficeCtrl1").FullScreen = !document

.getElementById("PageOfficeCtrl1").FullScreen;

}

function CloseWindow(){

document.getElementById("PageOfficeCtrl1").close();

window.external.close();//关闭POBrowser窗口

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pageoffice 骑缝章_PageOffice 页面中打开office编辑文档 的相关文章

随机推荐

  • 详解七大排序算法

    对于排序算法 是我们在数据结构阶段 必须要牢牢掌握的一门知识体系 但是 对于排序算法 里面涉及到的思路 代码 各种时间复杂度等 都需要我们 记在脑袋瓜里面 尽量一丢丢不要出现差错 面试所必备的精彩提问 言归正传 对于排序 我们首先需要知道的
  • 《统计学习方法》第一版课后习题答案--深度之眼课程

    作业1 参考文章 https blog csdn net qq 37098526 article details 89516974 极大似然估计 贝叶斯估计 作业2 思考感知机模型假设空间是什么 模型复杂度体现在哪里 2 已知训练数据集D
  • OLAP和OLTP的区别,了解哪些OLAP工具

    OLAP 联机分析处理 online analytical processing是一种软件技术 它使分析人员能够迅速 一致 交互地从各个方面观察信息 以达到深入理解数据的目的 从各方面观察信息 也就是从不同的维度分析数据 因此OLAP也称为
  • 三子棋(简单版)

    1 如何构思三子棋 写三子棋 程序主要包括游戏菜单 三子棋的棋盘 比较麻烦的 玩家下棋和电脑自动下棋四部分构成 2 游戏菜单 游戏菜单比较简单 只需要几行printf的代码即可 这里我选择输入1就是玩游戏 输入0就是退出游戏 void me
  • JS HTML CSS 前端页面生成电脑桌面壁纸?(动态可交互)

    1 先看效果 2 设计网页 你们可以自己设计网页或者去网上找好的网页 甚至可以直接用百度放到桌面是可以搜索的 自己写的网页可以放服务器也可以本地 本地连接后无法编辑 3 下载应用 电脑左下角搜索 Lively 点上面应用 然后进入Micro
  • Tkinter界面动态显示变化数值

    例举字符串StringVar 和整型IntVar var tk StringVar 或 var tk IntVar var set 设置 var get 获取 1 整型IntVaVar IntVar 要配合控件便使用 import tkin
  • 如何给C盘扩容?不用软件,把其他盘的空间分给C盘即可(图文详解)

    目录 1 打开磁盘管理器 2 将其他盘分盘 3 扩容 1 打开磁盘管理器 此电脑 gt 管理 gt 磁盘管理 2 将其他盘分盘 压缩卷 3 扩容 1 将与C盘邻近的分盘删除 注 给一个盘扩容 只能将这个盘后一个盘的空间分给它 2 C盘扩展卷
  • 小米主题显示服务器不可用,小米主题商店 小米主题怎么混搭

    小米主题商店中有非常多种类齐全的主题可以下载 无论是免费的还是收费的都是有一堆 不过一些刚刚买小米手机的用户还不清楚小米主题要怎么进行混搭 所以今天就来为大家详细的介绍一下小米主题商店中进行混搭主题的教程 小米主题商店 小米主题怎么混搭 1
  • JAVA 通过浏览器下载大文件导致OOM

    背景 Response 获取的对象为 ContentCachingResponseWrapper 页面点击下载文件 后台报错如下 org springframework web util NestedServletException Han
  • 关于oss使用sts 后台签发临时token前端直传大文件的错误记录

    文章目录 前言 遇到的问题 1 NoSuchBucket The specified bucket does not exist 2 com aliyuncs exceptions ClientException InvalidParame
  • tp5的分页方法 paginate

    tp5的分页方法paginate 一共有三个参数 其中 listRows可以为整型或者数组 当是数组的时候 你传入的 config就会失效 原因是 paginate的源代码 所以说 如果你想重新配置参数 那 listRows就传数组 否则的
  • 【ffmpeg基础】视频滤波处理

    ffmpeg版本 ffmpeg version 5 1 2 Copyright c 2000 2022 the FFmpeg developers 一 视频缩放滤波器 视频的滤波器通常使用 vf video filters 来设置滤波器 也
  • GDI 绘图

    目录 GDI 绘图 画点 画线 画封闭图形 画笔 画刷 其他 DC Device Context 绘图设备 HDC 绘图设备句柄 GDI Microsoft Graphics Device Interface Win32提供的绘图API G
  • python变量与作用域

    变量从作用域分类 作用范围从小到大为 小作用域的可以调用大作用域的内容 局部 Local 闭包 Enclosing 全局 Global 内建 Build in 局部变量 局部变量是定义在函数中的 因此其作用域是在函数内部 def examp
  • Opencv2.4.2+vs2008+windowsXP(32位)安装过程

    Opencv2 4 2 vs2008 windowsXP 32位 安装过程 准备软件 opencv2 4 2 VS2008软件 1 解压opencv2 4 2到指定路径 例如 D Program Files OpenCV2 4 2 2 打开
  • Https + OPENSSL

    二 HTTPS 2 1 HTTPS介绍 先来看HTTPS的概念 我们一般的http走的是80端口 而https走的是443端口 有什么不一样的地方吗 很简单 我们拿个telnet命令来作个实验 telnet127 0 0 1 80 直接就登
  • Vue.js(四)

    Vue js 模板语法 Vue js 使用了基于 HTML 的模版语法 允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据 Vue js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统 结合响应系统 在
  • two.js插件的简单用法

    div div
  • linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)

    PATH和LD LIBRARY PATH本质都是变量 所谓变量的意思就是由别人赋值产生的 直觉往往会让我们添加和减少这个变量本身的某些路径 实际上这是不正确的 正确的做法是我们要去修改赋予这个变量数值的那些配置文件 加一条路径或者减一条 说
  • pageoffice 骑缝章_PageOffice 页面中打开office编辑文档

    pom xml com zhuozhengsoft pageoffice 4 5 0 6 web xml poserver com zhuozhengsoft pageoffice poserver Server poserver pose