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

本文档展示了如何利用PageOffice控件在网页中实现骑缝章功能,并详细介绍了如何读取、编辑和保存服务器上的Word、Excel和PPT文档。通过设置控件属性,可以实现不同类型的文档编辑,并提供了打印、全屏和关闭等操作。此外,还包含了后台服务的接口方法,用于处理文档的读取、只读和保存操作。
摘要由CSDN通过智能技术生成

---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窗口

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值