PageOffice 6 版本最简单的打开保存文件

发布时间 2023-08-22 13:57:45作者: qianxi

在OA办公、文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成。

后端代码

  1. 在后端编写代码调用webOpen方法打开文件之前给SaveFilePage属性赋值(设置好保存时由哪个地址接口负责接收处理控件上传的文件流);
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
poCtrl.webOpen("doc/test.docx", OpenModeType.docNormalEdit, "张佚名"); // 打开文件

注意
对PageOfficeCtrl对象的所有属性赋值或函数调用都必须在WebOpen方法调用之前执行,否则会不生效。

  1. 在SaveFilePage属性指向的地址接口中,创建FileSaver对象处理文件的保存工作。
FileSaver fs = new FileSaver(request, response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + fs.getFileName());
fs.close();

前端代码

  1. 在OnPageOfficeCtrlInit事件中添加自定义按钮(根据实际需求自行添加,不限于以下几个按钮)。
OnPageOfficeCtrlInit() {
  pageofficectrl.AddCustomToolButton("保存", "Save", 1);
  pageofficectrl.AddCustomToolButton("另存为", "SaveAs", 12);
  pageofficectrl.AddCustomToolButton("打印设置", "PrintSet", 0);
  pageofficectrl.AddCustomToolButton("打印", "PrintFile", 6);
  pageofficectrl.AddCustomToolButton("全屏/还原", "IsFullScreen", 4);
  pageofficectrl.AddCustomToolButton("-", "", 0);
  pageofficectrl.AddCustomToolButton("关闭", "Close", 21);
},
  1. 实现自定义按钮所调用的js函数;
function Save() {
  pageofficectrl.WebSave();
}
function SaveAs() {
  pageofficectrl.ShowDialog(3);
}
function PrintSet() {
  pageofficectrl.ShowDialog(5);
}
function PrintFile() {
  pageofficectrl.ShowDialog(4);
}
function Close() {
  window.external.close();
}
function IsFullScreen() {
  pageofficectrl.FullScreen = !pageofficectrl.FullScreen;
}

参考链接:PageOffice最简单的打开保存文件