日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PageOffice实现文件在线安全预览——禁止编辑、下载、复制等

發布時間:2024/3/24 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PageOffice实现文件在线安全预览——禁止编辑、下载、复制等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實際應用中,很多時候不僅需要在線編輯文件,還需要在線安全預覽文件,要求不能復制、下載、另存到本地等情況。pageoffice可以實現文件在線安全預覽,禁止:編輯、復制、粘貼、右鍵菜單、選擇、下載、另存、F12下載、PrintScreen拷屏等操作。

一、環境

前端:vue

后端:springboot 、pageoffice5.4.0.3

二、前端

Word.vue頁面

后端定義一個打開文件后執行的事件。將這個事件定義的js函數在vue的mounted中掛載給window,執行禁止另存、打印、頁面設置和打印預覽的js

<template> <div class="Word"><div style="width:auto; height:700px;" v-html="poHtmlCode" ></div> </div> </template><script>const axios=require('axios');export default{name: 'Word',data(){return {message: ' ',poHtmlCode: '',}},created: function(){//由于vue中的axios攔截器給請求加token都得是ajax請求,所以這里必須是axios方式去請求后臺打開文件的controlleraxios.post("/api/ReadOnly/Word").then((response) => {this.poHtmlCode = response.data;}).catch(function (err) {console.log(err)})},methods:{//控件中的一些常用方法都在這里調用,比如保存,打印等等AfterDocumentOpened() {document.getElementById("PageOfficeCtrl1").SetEnableFileCommand(4, false); //禁止另存document.getElementById("PageOfficeCtrl1").SetEnableFileCommand(5, false); //禁止打印document.getElementById("PageOfficeCtrl1").SetEnableFileCommand(6, false); //禁止頁面設置document.getElementById("PageOfficeCtrl1").SetEnableFileCommand(8, false); //禁止打印預覽}},mounted: function(){// 將vue中的方法賦值給windowwindow.AfterDocumentOpened = this.AfterDocumentOpened;} } </script>

三、后端

禁止選中和禁止右鍵同時設置,實現禁止復制的功能。OpenModeType.docReadOnly模式打開文件限制文件編輯。并且隱藏菜單欄、office工具欄和pageoffice自定義工具欄。前端和后端配合實現文件在線安全預覽,防止文件內容泄露

@RestController @RequestMapping(value = "/ReadOnly") public class ReadOnlyController {@RequestMapping(value = "/Word")public String showWord(HttpServletRequest request) {WordDocument wordDoc=new WordDocument();wordDoc.setDisableWindowSelection(true);//禁止選中wordDoc.setDisableWindowRightClick(true);//禁止右鍵PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);poCtrl.setServerPage("/api/poserver.zz");//設置服務頁面poCtrl.setMenubar(false);//隱藏菜單欄poCtrl.setOfficeToolbars(false);//隱藏Office工具條poCtrl.setCustomToolbar(false);//隱藏自定義工具欄poCtrl.setJsFunction_AfterDocumentOpened("AfterDocumentOpened");//設置頁面的顯示標題poCtrl.setCaption("演示:文件在線安全瀏覽");//打開Word文檔poCtrl.setWriter(wordDoc);//此句必須poCtrl.webOpen(D:\\doc\\ReadOnly\\test.doc", OpenModeType.docReadOnly, "張三");return poCtrl.getHtmlCode("PageOfficeCtrl1");} }

四、效果

總結

以上是生活随笔為你收集整理的PageOffice实现文件在线安全预览——禁止编辑、下载、复制等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。