2026年海外品牌直采B2B商城系统推荐:直采的难点在供应商准入
2026/10/1 8:22:58
【国企项目手记:企业网站后台管理系统富文本编辑器功能扩展开发全记录】
项目负责人:XXX(北京某国企)
日期:2023年X月X日
客户要求在企业网站后台管理系统的文章发布模块中扩展以下功能:
mammoth.js、docx.js,但兼容性不足)。步骤1:UEditor信创兼容适配
Array.prototype.indexOf等兼容性问题)。es5-shim和es5-sham解决IE8缺少的ES5特性。步骤2:Word粘贴功能实现
ue.addListener('paste', handlePaste)捕获粘贴内容。Clipboard API提取图片二进制数据,通过AJAX上传至后端SpringBoot接口。、),转换为UEditor支持的标准标签。前端代码示例(Word粘贴处理):
// 监听粘贴事件ue.addListener('paste',function(editor){constclipboardData=window.clipboardData||event.clipboardData;if(clipboardData.files.length>0){// 处理粘贴的图片constfile=clipboardData.files[0];if(/^image\//.test(file.type)){constformData=newFormData();formData.append('file',file);axios.post('/api/uploadToOSS',formData).then(res=>{editor.execCommand('insertHtml',``);});}}else{// 处理文本和样式consthtml=clipboardData.getData('text/html')||clipboardData.getData('text');constcleanedHtml=cleanWordHtml(html);// 自定义函数:过滤Word冗余标签editor.execCommand('insertHtml',cleanedHtml);}});// 信创浏览器兼容性修复(IE8)if(!Array.prototype.indexOf){Array.prototype.indexOf=function(item){for(leti=0;i<this.length;i++){if(this[i]===item)returni;}return-1;};}Apache POI解析Word/Excel/PPT,PDFBox解析PDF,提取文本和图片。// SpringBoot示例:解析Word文档并上传图片至OSS@PostMapping("/importWord")publicStringimportWord(@RequestParam("file")MultipartFilefile)throwsIOException{XWPFDocumentdocument=newXWPFDocument(file.getInputStream());StringBuilderhtml=newStringBuilder();for(XWPFParagraphparagraph:document.getParagraphs()){html.append("").append(paragraph.getText()).append("");}for(XWPFTabletable:document.getTables()){html.append("");// 解析表格行和单元格...html.append("");}// 提取文档中的图片并上传至OSS...returnhtml.toString();}// SpringBoot示例:上传图片至OSS@PostMapping("/uploadToOSS")publicResponseEntity>uploadToOSS(@RequestParam("file")MultipartFilefile){StringfileName=UUID.randomUUID().toString()+"."+StringUtils.getFilenameExtension(file.getOriginalFilename());OSSossClient=newOSSClientBuilder().build(endpoint,accessKeyId,accessKeySecret);ossClient.putObject(bucketName,fileName,file.getInputStream());ossClient.shutdown();Mapresult=newHashMap<>();result.put("url","https://"+bucketName+"."+endpoint+"/"+fileName);returnResponseEntity.ok(result);}font-family: "SimSun", "宋体")。jQuery.ajax并设置contentType: false。| 方案 | 成本 | 兼容性 | 开发周期 | 授权模式 |
|---|---|---|---|---|
| UEditor二次开发 | 25万元(人力) | 需额外适配龙芯MIPS | 4个月 | 开源免费 |
| XX信创富文本编辑器 | 78万元(买断) | 全信创环境支持 | 2个月 | 永久授权(含升级) |
结语:本次项目通过“商业插件+信创适配”策略,在预算内高效完成了需求,同时为集团后续政企项目积累了国产化兼容经验。下一步计划将UEditor逐步迁移至国产信创富文本编辑器,进一步统一技术栈。
UEditor 1.4.3.3示例注意:不要重复引入jquery,如果您的项目已经引入了jq,则不用再引入jq-1.4
//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义toolbars:[["fullscreen","source","|","zycapture","|","wordpaster","importwordtoimg","netpaster","wordimport","excelimport","pptimport","pdfimport","|","importword","exportword","importpdf"]]varpos=window.location.href.lastIndexOf("/");varapi=[window.location.href.substr(0,pos+1),"asp/upload.asp"].join("");WordPaster.getInstance({//上传接口:http://www.ncmem.com/doc/view.aspx?id=d88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名:http://www.ncmem.com/doc/view.aspx?id=704cd302ebd346b486adf39cf4553936ImageUrl:"",//设置文件字段名称:http://www.ncmem.com/doc/view.aspx?id=c3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:"file",//提取图片地址:http://www.ncmem.com/doc/view.aspx?id=07e3f323d22d4571ad213441ab8530d1ImageMatch:''});//加载控件如果接口字段名称不是file,请配置FileFieldName。ueditor接口中使用的upfile字段
点击查看详细教程
匹配图片地址,如果服务器返回的是JSON则需要通过正则匹配
ImageMatch:'',点击参考链接
为图片地址增加域名,如果服务器返回的图片地址是相对路径,可通过此属性添加自定义域名。
ImageUrl:"",点击查看详细教程
如果接口有权限验证(登陆验证,SESSION验证),请配置COOKIE。或取消权限验证。
参考:http://www.ncmem.com/doc/view.aspx?id=8602DDBF62374D189725BF17367125F3
一键粘贴Word内容,自动上传Word中的图片,保留文字样式。
一键导入Word文件,并将Word文件转换成图片上传到服务器中。
一键导入PDF文件,并将PDF转换成图片上传到服务器中。
一键导入PPT文件,并将PPT转换成图片上传到服务器中。
点击下载完整示例