如何通过 SDK 进行文档脱敏

一些文件(例如内容涉密、机关红头文件、合同标书等等)在流转过程中,可能文档中部分内容不想在流转过程中暴露,我们通过本地的查找替换可以实现所有1替换成2的效果,但若是存在成百上千个文件的话,逐一文件替换可能会比较消耗时间人力和精力。如此需求痛点我们有办法解决么,当然可以!zOffice SDK即可满足你!

zOffice简介

zOffice提供云端Office能力,包括Word、Excel、PPT三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。

官网链接:https://www.filez.com/zoffice

集成介绍文档: https://lenovocloud.zbox.filez.com/l/a0OsO0

作为在线文档编辑服务,zOffice提供丰富的API,可以实现对Excel,Word等文档的内容操作。

脱敏实现过程

首先我们可以在任意web项目,将我们的sdk.js引入到项目中,es5与es6均可以支持,这个大家不用担心兼容的问题哈。随后将我们部署成功的zOffice server准备并配置好,即可进行操作了。

  • 页面中我们将要脱敏的文件所在的文件夹准备好,通过页面将所有将要脱敏的文件加载。
  • 页面下方可以设置我们的脱敏策略,针对哪种敏感信息的类型进行选择,例如:
    • 将身份证类型关键字的1-6位、7-10位进行密文替换
    • 地名、地址等关键字的一些识别
    • 合同金额、日期、性别年龄
  • 设置好规则后我们通过SDK的内置方法  ZOfficeSDK.mount依次将我们的文件进行挂载,然后根据选择的规则遍历每个文件的所有段落,通过SDK内置的getParagraphs()方法,随后对每一个段落的内容进行脱敏内容的匹配,然后进行替换,至此达到了批量化脱敏的目的。
  • 伪代码如下:

const files = 待脱敏文件的文件夹路径;

const rules =>(originText) {

//脱敏的正则规则或其他加密算法;

}

for (let i in files){

  let Application = await ZOfficeSDK.mount('url', '#doc1', true);  await Application.ready();

  let paras = await Application.ActiveDocument.getParagraphs();

for(let j in paras ){

  const paragraph = await Application.ActiveDocument.Paragraphs.item(j);  const success = await paragraph.setText(rules(content));

}

}

综上看来是不是很简单呐,短短的几行代码即可实现批量脱敏的需求。通过SDK批量多次处理相同的操作,可以解放我们的双手替我们做一些重复的任务,大大提高了任务执行的效率。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值