在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最简单的打开保存文件

PageOffice 6 版本最简单的打开保存文件的更多相关文章

  1. C#项目打开/保存文件夹/指定类型文件,获取路径

    C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...

  2. C#线程安全打开/保存文件对话框

    在多线程单元模式(MTA)中为应用程序使用.NET OpenFileDialog和SaveFileDialog 下载FileDialogsThreadAppartmentSafe_v1.zip 如果您 ...

  3. MFC打开/保存文件对话框:CFileDialog

    MFC打开/保存文件对话框:CFileDialog CFileDialog   文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDial ...

  4. 使用C#版本的gdal库打开hdf文件

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近应同事的请求帮忙研究下使用C#版的gdal库读取hdf文件,今天算是有一点成果,特地做一些记录. 首先是编译C#版 ...

  5. 12.JAVA之GUI编程打开与保存文件

    功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...

  6. [转载]]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

  7. [原创]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

  8. Winform控件:保存文件对话框(SaveFileDialog)

    SaveFileDialog用于保存文件 1.新建Winform窗体应用程序,命名为SaveFileDialogDemo. 2.在界面上添加一个按钮的控件(用于打开保存文件对话框),添加文本控件,用于 ...

  9. 随笔小问题(一)--mac打开class文件

    本来不想写这个东西的.但是这个却费了我一番周折. 我要先声明一点的是,我从来不讲iOS当成一个单独的系统,而是将这个操作系统归位unix内核的系统. 简单来说,我把它当成linux在用. 但是,mac ...

  10. C# 打开mpp文件(Microsoft object)问题总结

    有需求就有解决方案,早上还没有听说过什么是 mpp 文件,下午已经能成功的将功能实现,这难道就是程序员的职业素养?哈哈哈哈 从网上找了很多方法,最后自己找到一个十分简单的打开 mpp 文件的方法: p ...

随机推荐

  1. #主席树,离散,扫描线#洛谷 3168 [CQOI2015]任务查询系统

    题目 分析 询问显然得预处理,考虑以优先级建权值线段树, 将优先级离散化处理,那么第\(k\)大可以用线段树来求 那任务怎么办,考虑时间用扫描线的方法,按照时间建新的线段树 把任务分成两部分,在两端差 ...

  2. Python 潮流周刊第 45 期(摘要)+ 赠书 5 本《Python语言及其应用(第2版)》

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  3. 开发人员使用HANA交付业务的学习路径

    本文于2019年7月22日完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 入门 编程规范. 开发环境使用方法. 基本语法,与其它同类软件的 ...

  4. HarmonyOS SDK开放能力,服务鸿蒙生态建设,打造优质应用体验

    华为开发者大会2023(HDC.Together)于8月4日至6日在东莞松山湖举行,在HarmonyOS端云开放能力技术分论坛上,华为为广大开发者们介绍了HarmonyOS SDK开放能力在基础开发架 ...

  5. centerOS网卡ens33没有inet报错failed tostart LSB: Bring up/down

    没有inet 错误 cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33 添加  HWADDR=<mac_of_ens33> service ...

  6. 如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 [仅供参考未亲测]

    如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等  2007-01-29 10:20:09 分类: LINUX 前提条件:       必须安装包:vsftpd-2.0.1-5     ...

  7. vscode设置语法错误时在文件名显示报错

  8. 力扣1069(MySQL)-产品分析Ⅱ(简单)

    题目: 编写一个 SQL 查询,按产品 id product_id 来统计每个产品的销售总量. 查询结果格式如下面例子所示:  解题思路: 没有用到product表,直接在sales表中使用聚合函数: ...

  9. 阿里云2020上云采购季,你的ECS买好了吗?

    阿里云2020上云采购季,超级品类日,天天有爆款. 今日爆款推荐:云服务器. 重磅推荐两款,限时抢购. 新品共享型s6: 企业级共享型n4: 想看更多云产品,来阿里云采购季: https://www. ...

  10. ASP.NET Core 浅析环境变量与配置的优先级

    本文将简单介绍在 dotnet 6 下的 ASP.NET Core 里的环境变量当成配置的优先级行为.这部分内容在官方文档都有提到,只是我开始粗心没有看仔细,而踩到了坑,特意写篇博客记录一下 在 AS ...