核心内容摘要
一场瞒天过海的“黄金诱惑”:当全世界只剩下我和这份薯条
军工集团项目技术日志 - 信创环境下的富文本内容迁移解决方案2023年X月X日 于长沙研发中心
需求背景与痛点分析近期承接某部委涉密项目时客户反馈现有CMS系统存在以下问题政务公文迁移效率低下需手动调整Word文档格式单份红头文件平均耗时47分钟国产化兼容风险现有CKEditor插件在银河麒麟系统上出现公式渲染异常安全审计要求需满足《党政机关电子公文系统安全规范》GB/T
要求
技术选型评估候选方案对比方案信创适配性二次开发成本政府采购合规性报价范围永中Office云插件仅支持x86架构高无央企合作案例25万/年PageOffice仅支持x86架构中有副省级城市案例98万买断定制开发方案全架构覆盖低符合军品采购标准
万WordPaster全架构覆盖低符合军品采购标准
万最终选择WordPaster源码版方案核心考虑因素基于CKEditor
4.
2
1的PasteFromOffice插件进行深度魔改集成TinyMCE的PowerPaste模块处理复杂样式采用华为云OBS SDK实现安全存储
三、
关键技术实现
信创环境文件解析引擎// WordParserEngine.javapublicinterfaceWordParserEngine{// 多架构适配层Stringparse(StringfilePath,Stringcharset)throwsDocumentParseException;}Profile(loongarch)ComponentpublicclassLoongsonWordParserimplementsWordParserEngine{// 龙芯专用文档解析器OverridepublicStringparse(StringfilePath,Stringcharset){ProcessprocessRuntime.getRuntime().exec(/opt/loongnix/office/bin/wps2html filePath);// 处理WPS Linux专版输出...}}Profile(x
ComponentpublicclassX86WordParserimplementsWordParserEngine{// 使用Apache POI JCodings处理GB2312}
前端安全粘贴方案// pasteHandler.jsfunctionhandleWordPaste(event){constitems(event.clipboardData||window.clipboardData).items;// 检测MS Office特征if(items[0].typeapplication/x-rtf){constparsernewDOMParser();constdocparser.parseFromString(event.clipboardData.getData(Text),text/html);// 样式清洗保留政务公文要素sanitizeStyles(doc,{allowedFonts:[仿宋_GB2312,方正小标宋_GBK],keepTables:true,formulaHandler:convertOMMLtoMathML// 处理Office公式});// 图片上传队列uploadImages(doc.querySelectorAll(img)).then((){editor.insertHtml(doc.body.innerHTML);});}}
华为云OBS安全上传// ObsUploadService.javapublicclassObsUploadService{Value(${obs.endpoint})privateStringendpoint;PostConstructpublicvoidinit(){// 国密SM4加密传输ObsConfigurationconfignewObsConfiguration();config.setSocketTimeout(
;config.setSignatureProvider(newSM4SignatureProvider());}publicStringupload(MultipartFilefile){ObsClientclientnewObsClient(accessKey,secretKey,endpoint);PutObjectRequestrequestnewPutObjectRequest(secure-bucket,UUID.randomUUID()getFileExt(file.getOriginalFilename()),file.getInputStream());// 设置政务文件标签request.setMetadata(Collections.singletonMap(security-level,confidential));client.putObject(request);}}
信创环境测试报告测试项目中标麒麟V7银河麒麟V10统信UOS 20Word 2016样式保留
9
2%
9
5%
9
1%公式转换准确率89%91%95%10MB文档处理耗时
3s
8s
5s特殊问题处理龙芯平台WPS表格边框线转换异常 → 采用CSS3 box-shadow模拟飞腾ARM架构下字体渲染偏差 → 预装党政机关专用字体包
商务实施关键点授权模式一次性买断58万含5年维保合同条款注明资质要求提供与某航天研究院的合作协议脱敏版附华为云鲲鹏兼容性认证证书交付物清单国产化适配测试报告CNAS认证实验室出具源代码托管至集团GitLab军品仓库
项目里程碑第3周完成在统信UOS飞腾FT-2000平台的首次公文迁移第6周通过军委装备发展部信息系统局的安全检测第9周在湖南省电子政务外网完成全省部署培训后记今日收到集团财务部通知该方案已纳入《军工行业电子公文处理系统建设指南2023版》推荐技术路线。
突然意识到这已不仅是技术问题更是关乎国家安全的信息化基建。
明日需赴北京参加党政机关办公软件标准化工作会议该带哪台符合保密要求的笔记本又成了新问题…复制插件说明此教程以CKEditor
x为例使用其他编辑器的查看对应教程。
将下列文件夹复制到项目中/WordPaster/ckeditor/plugins/imagepaster/ckeditor/plugins/netpaster/ckeditor/plugins/pptpaster/ckeditor/plugins/pdfimport上传插件上传插件文件夹将imagepaster,netpaster文件夹上传到现有项目ckeditor/plugins目录中在工具栏中增加插件按钮CKEDITOR.config.extraPluginszycapture,imagepaster,importwordtoimg,netpaster,wordimport,excelimport,pptimport,pdfimport,importword,exportword,importpdf;引用js初始化控件WordPaster.getInstance({//上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:,//设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,//提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:,Cookie:PHPSESSID});//加载控件配置上传接口WordPaster.getInstance({//上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:,//设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,//提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:,Cookie:%clientCookie%,event:{dataReady:function(e){//e.word,//e.imgs:tag1,tag2,tag3console.log(e.imgs)}}});//加载控件注意
如果接口字段名称不是file请配置FileFieldName。
ueditor接口中使用的upfile字段点击查看详细教程配置ImageMatch用于匹配JSON数据点击查看详细教程配置ImageUrl用于为图片增加域名前缀点击查看详细教程配置Session如果接口有权限验证登陆验证SESSION验证请配置COOKIE。
或取消权限验证。
参考点击查看详细教程说明
请先测试您的接口点击查看详细教程功能演示编辑器界面导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。
Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。
导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。
导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。
上传网络图片一键自动上传网络图片自动下载远程服务器图片自动上传远程服务器图片下载示例点击下载完整示例