国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件
PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。
在OA办公、文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成。
后端代码
- 在后端编写代码调用webOpen方法打开文件之前给SaveFilePage属性赋值(设置好保存时由哪个地址接口负责接收处理控件上传的文件流);
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
poCtrl.webOpen("doc/test.docx", OpenModeType.docNormalEdit, "张佚名"); // 打开文件
注意
对PageOfficeCtrl对象的所有属性赋值或函数调用都必须在WebOpen方法调用之前执行,否则会不生效。
- 在SaveFilePage属性指向的地址接口中,创建FileSaver对象处理文件的保存工作。
FileSaver fs = new FileSaver(request, response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + fs.getFileName());
fs.close();
前端代码
- 在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);
},
- 实现自定义按钮所调用的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最简单的打开保存文件PageOffice最简单的打开保存文件