news 2026/4/30 17:23:07

医疗系统如何通过富文本编辑器实现DICOM图像转存?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
医疗系统如何通过富文本编辑器实现DICOM图像转存?

广东某国企项目负责人技术选型与开发实施记录

一、需求背景与核心目标

为满足政府客户在企业网站后台管理系统升级需求,需在UEditor富文本编辑器中扩展三大功能:

  1. Word粘贴增强:支持图文混排、样式保留、图片自动上传至华为云OBS
  2. Office文档导入:支持Word/Excel/PPT/PDF全格式解析与样式还原
  3. 公众号内容抓取:自动下载公众号图片并上传至私有存储

技术约束条件

  • 信创环境全栈兼容(操作系统/浏览器/CPU架构)
  • 买断式授权(预算≤88万)
  • 零破坏性集成(不影响现有JSP+MySQL架构)
  • 二进制图片存储(禁用BASE64)
二、技术选型评估(2023年Q2)

1. 富文本扩展组件评估

组件名称国产化支持文档解析能力图片处理授权模式成本
UEditor官方插件部分基础需二次开发免费0
Kingsoft WPS开放平台全栈深度解析完善买断授权78万
TinyMCE企业版有限中等需集成年费订阅12万/年
永中Office集成方案全栈专业级完善源代码授权85万
自定义开发全栈可控定制完全自主60-90万

决策结果
选择永中Office集成方案,理由:

  • 唯一提供完整源代码授权的商业化方案
  • 深度兼容中标麒麟/银河麒麟等信创系统
  • 支持龙芯LoongArch指令集优化
  • 提供Java版后端服务(适配JSP架构)
三、系统集成方案

1. 前端改造(Vue2.x)

// src/components/editor/EnhancedUEditor.vueimportUEfrom'ueditor-vue'exportdefault{components:{UE},mounted(){// 动态加载永中插件constscript=document.createElement('script')script.src='/static/yzoffice/yz-ueditor-plugin.js'script.onload=()=>{window.YZOfficePlugin.init({uploadUrl:'/api/upload/obs',// OBS直传接口crossOrigin:true,cssPath:'/static/yzoffice/theme.css'})}document.head.appendChild(script)}}

2. 后端适配(JSP+Spring)

// OBS上传控制器示例@RestController@RequestMapping("/api/upload")publicclassObsUploadController{@Value("${obs.endpoint}")privateStringendpoint;@PostMapping("/obs")publicResponseEntity>uploadToObs(@RequestParam("file")MultipartFilefile){// 1. 生成唯一文件名Stringext=FilenameUtils.getExtension(file.getOriginalFilename());StringobjKey="ueditor/"+UUID.randomUUID()+"."+ext;// 2. 使用华为云SDK直传ObsClientobsClient=newObsClient("accessKey","secretKey",endpoint);obsClient.putObject("your-bucket-name",objKey,newByteArrayInputStream(file.getBytes()));// 3. 返回JSON响应(兼容UEditor协议)Mapresult=newHashMap<>();result.put("url",endpoint+"/"+objKey);result.put("state","SUCCESS");returnResponseEntity.ok(result);}}

3. 信创环境适配方案

  • 浏览器兼容:通过永中插件内置的IE8回退引擎
  • CPU架构:提供x86/ARM64/LoongArch三版本编译包
  • 中间件:适配金仓数据库(Kingbase)分表存储方案
四、关键技术实现

1. Word样式保留机制

  • 使用永中Office的DOCX解析引擎提取:
    • 表格结构(合并单元格支持)
    • 字体栈(CSS font-family映射)
    • 颜色空间转换(RGB→HEX)

2. 公众号图片抓取流程

用户粘贴 → 插件检测微信域名 → 解析HTML获取图片URL → 后端代理下载(绕过跨域)→ OBS上传 → 替换为本地URL

3. 多格式导入实现

文档类型处理方式输出格式
DOCXXML解析+样式映射HTML+CSS
XLSX表格转HTML+合并单元格处理``
PDF矢量图形转SVG+文字OCRSVG+DIV
五、项目实施成果

1. 性能指标

  • 50MB文档导入耗时:<12秒(华为鲲鹏920服务器)
  • 图片上传并发量:支持200QPS(OBS标准存储)
  • 内存占用:优化后较原方案降低37%

2. 信创认证清单

  • 兼容龙芯3A5000+统信UOS桌面版
  • 通过奇安信浏览器安全认证
  • 获得银河麒麟V10兼容性证书

3. 成本效益分析

  • 一次性授权费用:85万元(含3年技术支持)
  • 节省年费支出:约60万元/年(对比订阅模式)
  • 开发周期缩短:从预计6个月压缩至3个月
六、后续优化方向
  1. 增加WPS原生格式(.et/.dps)直接解析
  2. 开发移动端H5适配版本
  3. 实现OBS到阿里云OSS的跨云迁移接口
  4. 增加文档水印与DRM加密功能

项目验收结论
该方案在预算范围内实现了全信创环境兼容,通过买断源代码授权彻底解决国产化替代风险,已在3个省级政府项目中稳定运行超过6个月,建议作为企业标准解决方案推广。

复制插件目录

引入插件文件

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字段

点击查看详细教程

配置ImageMatch

匹配图片地址,如果服务器返回的是JSON则需要通过正则匹配

ImageMatch:'',

点击参考链接

配置ImageUrl

为图片地址增加域名,如果服务器返回的图片地址是相对路径,可通过此属性添加自定义域名。

ImageUrl:"",

点击查看详细教程

配置SESSION

如果接口有权限验证(登陆验证,SESSION验证),请配置COOKIE。或取消权限验证。
参考:http://www.ncmem.com/doc/view.aspx?id=8602DDBF62374D189725BF17367125F3

效果

编辑器界面

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

一键粘贴Word内容,自动上传Word中的图片,保留文字样式。

Word转图片

一键导入Word文件,并将Word文件转换成图片上传到服务器中。

导入PDF

一键导入PDF文件,并将PDF转换成图片上传到服务器中。

导入PPT

一键导入PPT文件,并将PPT转换成图片上传到服务器中。

上传网络图片

下载示例

点击下载完整示例

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 6:37:06

基于蒙特卡洛模拟的大规模电动车充电模型 在matlab中用蒙特卡洛算法对电动汽车充电负荷进行模拟

基于蒙特卡洛模拟的大规模电动车充电模型 在matlab中用蒙特卡洛算法对电动汽车充电负荷进行模拟&#xff0c;可自己修改电动汽车数量&#xff0c;复现。 动汽车大规模入网充电时会导致系统内负载峰值拔高的问题&#xff0c;和分布式电源一样&#xff0c;都会对电网的安全稳定运…

作者头像 李华
网站建设 2026/4/23 15:05:29

switch写a5,1指令解析与操作指南

在日常的技术支持与开发文档编写中&#xff0c;我们时常会遇到类似“switch写a5,1”这样简洁却含义明确的指令。它通常指向一个具体的操作过程或状态设置&#xff0c;而非字面上的简单词语组合。理解其背后的技术语境和执行逻辑&#xff0c;是准确完成相关任务的前提。本文将为…

作者头像 李华
网站建设 2026/4/18 7:26:07

java+vue基于springboot框架的校友信息管理系统的设计与实现

目录校友信息管理系统设计与实现摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;校友信息管理系统设计与实现摘要 该系统采用前后端分离架构&#xff0c;后端基于SpringBoot框架&#xff0c;前端使用Vue.js技术栈&#xff…

作者头像 李华
网站建设 2026/4/27 18:41:50

java+vue基于springboot框架的生鲜商城系统设计与实现

目录摘要内容技术栈说明创新点开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要内容 基于SpringBoot框架的生鲜商城系统结合了Java后端与Vue前端技术&#xff0c;实现了线上生鲜商品的展示、交易与管理功能。系统采用B/S架构…

作者头像 李华
网站建设 2026/4/30 7:56:38

【GitHub项目推荐--OpenWork:开源AI代理工作流平台】⭐⭐⭐⭐⭐

简介 OpenWork​ 是一个开源的企业级AI代理工作流平台&#xff0c;由different-ai团队开发&#xff0c;作为Claude Cowork的开源替代方案。该项目基于opencode技术栈构建&#xff0c;旨在为企业团队提供智能化的AI助手和工作流自动化解决方案。OpenWork通过将AI代理与团队日常…

作者头像 李华
网站建设 2026/4/27 1:34:13

SQL Server 2026索引越界错误原因与解决方法

当在SQL Server 2026中遇到“索引超出了数组界限”的错误时&#xff0c;通常意味着你的代码试图访问一个数组或集合中不存在的索引位置。这个问题在操作表变量、使用循环逻辑或涉及CLR集成时可能出现&#xff0c;会导致查询或存储过程执行中断。理解其成因和掌握解决方法对维护…

作者头像 李华