js前端预览office文档和PDF文档。控制下载权限与拷贝权限解决方案。

最近在开发项目遇到一个office文档和PDF文档预览的需求,并且需要控制用户是否可以下载文件和拷贝文档中的文字。

H5office

h5office 官网文档地址,需要进去申请自己的appid。免费的

查看最终实现的效果

很简单的用法。

<!-- 创建一个标签就可以了 -->
<div id="office"></div>

<button id="open">打开文档</button>
<!-- 引用 h5office 库 -->
<script src="https://h5plugin.mumudev.top/public/h5office/h5office_min.js"></script>

<script>
  const office = document.getElementById("office")
    // e80bac62d500a7b4765cc484b686efeefa7cdab6appId  是我申请的appid,你们使用的话需要在 h5office 官网中,看文档申请自己的 appid
  const h5office = new H5office(office, "e80bac62d500a7b4765cc484b686efeefa7cdab6appId")

  // 修改权限 copy 是拷贝权限、download  下载权限、print 打印权限
  // 如果不想用户可以下载的话就不传递 download 就可以了
  h5office.setPrivilege(['copy', 'download', 'print'])

 // 监听关闭,监听后必须返回 true 否则无法关闭
  h5office.onClose((e) => {
    alert("确认是否同意当前文档所说")
    // 这里返回 false 可以取消关闭的操作
    return true
  })

 // 监听下载按钮。如果传递了 download 权限,就需要监听下载按钮,当用户点击下载按钮我们就在这个事件中下载文件
  h5office.onDownload((e) => {
    // e 是当前预览的文件名
    alert('下载按钮' + e)
  })

// 初始化开始,如果预览文件比较大,读取比较慢的话我们可以在这个事件中打开logind的效果
  h5office.onInit((e) => {
    // 返回文件名和主题色
    console.log("初始化开始", e)
  })

    // 设置需要预览的文件地址,也可以直接传递一个本地的文件对象预览本地文件
   h5office.setFiel('https://h5plugin.mumudev.top/public/previewOffce/444_big.xlsx')

// 打开预览文档
  document.getElementById("open").addEventListener("click", function () {
    // 调用 h5office 的 show 方法
    h5office.show()
  })
</script>

电脑端打开样式很漂亮基本和使用微软的office软件打开一直。手机端也有单独的ui界面,并且支持双指放大缩小等操作。功能很强大,在官方文档中还说支持uniapp打包成安卓app和苹果app。

缺点:

  1. 有次数限制,免费的是300次,可以在h5office官方网站小程序中进行刷新,刷新的次数是没限制的,因此只要勤快一点是可以一直免费使用的。

解决办法:
小程序中是设置使用次数快没有的时候进行邮件提示,不用一直关注使用次数,当有邮件提示的时候,进入小程序中刷新一下就可以了
或者支持十元成为赞助者,赞助者每次刷新会有1000的使用次数。
  1. 对预览文件有大小限制,免费版本是10M,赞助版本是20M。如果文件很大的话只有进行私有化部署了

h5office 官网

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
不想被他人复制 PDF 文档中的内容?试试PDF Anti-Copy吧。与同类软件有所不同的是,PDF Anti-Copy 能够保护 PDF 文档中的所有单词和图形不被复制,而无需更改原始内容。处理后的 PDF 文件可以由任何 PDF 阅读器打开和查看。但是,任何尝试复制和转换已受保护的页面上的内容,都是不可能的。即使是免费者或 PDF 专用解锁工具也无法解除限制。这对于一些特殊的应用场景非常有用。 PDF Anti-Copy 中文版PDF Anti-Copy 中文版 PDF Anti-Copy 特色 100%免费 PDF文本反拷贝 无需密码保护和加密 防止转换为可编辑的格式,如MS Word,Excel和TXT等。 选择性PDF页面保护 限制PDF以防止打印 全局PDF权限禁止复制功能 保留原始的PDF格式和质量 多语言:英文,中文(S / T),德文,法文,日文,韩文,意大利文,荷兰文,希腊文 更多关于 PDF Anti-Copy 随着技术的出现,信息盗窃的风险增加。作为想法的创造者,我们必须比以往任何时候都更加保护免受任何威胁。在PDF转换领域,Windows 软件应用程序已经开发出来,以满足我们的安全需求:PDF Anti-Copy 是PDF转换的最新最好的解决方案。 以下是最新解决方案的主要安全功能: 防拷贝: 虽然大多数PDF转换器无法保护信息不被PDF格式复制,但是 PDF Anti-Copy 可防止任何用户将分类数据传输到未经授权的位置。例如,任何尝试突出显示文本的人都不会有机会通过此软件的广泛的PDF处理来实现。 防止将PDF转换为可编辑的文件格式: 大多数转换器无法响应的另一个问题是易于将PDF转换为其他文件格式,从而允许不必要的智能材料所有权。 PDF Anti-Copy解决了这个漏洞,消除了技术盗贼操作的任何机会。 防止未经授权的PDF打印: 不能复制?不能转换为其他文件格式?虽然这些已经得到保证,但仍然存在绝望的印象。 PDF Anti-Copy创建者已经预见到这一策略,从而确保在任何PDF阅读器中打开文件时该软件不允许打印选项。 PDF拷贝确保转换后无瑕疵的内容: 是的,您的PDF文件受到保护。是的,你没有安全威胁。但是,您的内容是否仍然完整?市场上其他PDF转换工具的破坏是对所有者的原始内容的威胁。转换后,即使信息没有重复,在某些情况下,其完整性也不再与原始文件相似。使用PDF拷贝,这不是一个烦恼。无论什么工作都将保持字词。 除了无与伦比的安全性外,PDF Anti-Copy还具有与竞争对手相关的其他相关优势: 用户友好: 与其他PDF转换程序不同,此软件不需要用户记住长密码才能保护页面。由于漫长的流程来确保保护,所以经历了麻烦的日子。使用PDF Anti-Copy,一旦转换,您可以相信您的信息是安全的。 除了友好的用户体验,该技术还提供中文,德文,法文,日文,韩文,意大利文,荷兰文和希腊文等各种语言,以便用户信息受到保护,无论您是全球哪个地方! 现在在这里下载 PDF Anti-Copy,尝试一些你的文件,并作为一个见证的这个世界的安全。
前端拷贝与浅拷贝的区别在于复制对象时是否递归地复制对象中的子对象。 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是引用类型,拷贝的就是内存地址。所以如果其中一个对象改变了这个地址,就会影响到另一个对象。浅拷贝只复制一层对象的属性。 深拷贝是将一个对象从内存中完整地拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,并递归地拷贝对象中的子对象。深拷贝后的新对象与原对象互不影响,即使修改新对象的值也不会影响原对象。深拷贝复制了所有层级的对象属性。 在前端开发中,深拷贝通常用于确保修改副本对象不会影响原始对象,尤其是在涉及到多层嵌套的对象或数组时。常见的实现深拷贝的方式包括使用递归、JSON.stringify和JSON.parse等方法。而浅拷贝则可以通过赋值操作、Object.assign等方法来实现。 因此,深拷贝与浅拷贝的区别在于复制对象时是否递归地复制对象中的子对象,以及复制后的对象是否与原对象互不影响。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [[前端面试题]:深拷贝与浅拷贝的区别](https://blog.csdn.net/WWEIZAI/article/details/126519334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [前端面试:浅拷贝和深拷贝的区别?](https://blog.csdn.net/weixin_39570751/article/details/123363926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值