文件在线安全浏览
# 文件在线安全浏览
- 查看本示例演示效果
- 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
文档安全预览时,我们希望用户只能只读查看文件内容,并且不能复制、粘贴、右键菜单、选择、下载、另存、F12下载、PrintScreen拷屏等操作。
只读打开文件时需要用到PageOffice打开文件的“只读模式”,PageOfficeCtrl对象的webOpen方法的第二个参数就是用来控制打开文件的模式的。
docReadOnlyWord只读模式xlsReadOnlyExcel只读模式pptReadOnlyPPT只读模式
禁止右键,选中,只读打开文件功能用后端接口实现;禁止下载,另存等功能用前端接口实现。前后端相关接口结合使用就能实现对整个文档的安全预览效果。
# 后端代码
下面示例代码以word文件为例:
后端代码的webOpen的第二个参数用只读模式docReadOnly打开文件,并且使用WordDocumentWriter对象控制禁止右键和选中,当禁止右键和选中后就相当于实现了禁止拷贝和粘贴。
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setAllowCopy(false);//禁止拷贝和F12另存
WordDocumentWriter doc=new WordDocumentWriter();
doc.setDisableWindowSelection(true);//禁止选中
doc.setDisableWindowRightClick(true);//禁止右键
poCtrl.setWriter(doc);//注意:千万别忘了这句,否则WordDocumentWriter设置的所有属性都不生效
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docReadOnly, "张三");
// Linux服务器添加前缀:file://
//poCtrl.WebOpen("file://"+"/root/documents/test.docx", OpenModeType.docReadOnly, "张三");
PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
poCtrl.AllowCopy = false;//禁止拷贝
PageOfficeNetCore.Word.WordDocumentWriter doc = new PageOfficeNetCore.Word.WordDocumentWriter();
doc.DisableWindowSelection = true;//禁止选中
doc.DisableWindowRightClick = true;//禁止右键
poCtrl.SetWriter(doc);//注意:千万别忘了这句,否则WordDocument设置的所有属性都不生效
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
poCtrl.WebOpen("D:\\documents\\test.docx", PageOfficeNetCore.OpenModeType.docReadOnly, "tom");
// Make sure to add code blocks to your code group
# 前端代码
在OnPageOfficeCtrlInit事件中隐藏Office工具栏和自定义工具栏。
OnPageOfficeCtrlInit() {
pageofficectrl.OfficeToolbars = false; //隐藏Office工具栏
pageofficectrl.CustomToolbar = false; //隐藏自定义工具栏
},
// Make sure to add code blocks to your code group
上次更新: 2025/07/21, 15:21:36