芯片制造企业如何用百度UE插件实现CAD图纸截图直接粘贴?

2023年XX月XX日 | 政务项目富文本编辑器增强方案实施报告


一、需求分析与技术选型

1.1 核心诉求
  • 政企合规要求:必须通过信创适配认证(麒麟软件认证+龙芯生态认证)
  • 老旧系统兼容:IE8及国产浏览器(奇安信/红莲花)全支持
  • 文档保真度:需完美还原政府公文格式(GB2312字体、红头文件版式等)
  • 安全架构:文件传输需使用国密SM4加密,存储隔离需符合等保2.0三级要求
1.2 技术方案对比
方案优点缺点
Microsoft 365功能齐全不支持私有部署
WPS 365功能齐全不支持私有部署
永中Office功能齐全拒绝提供产品源代码
腾讯文档功能齐全不支持私有部署
钉钉文档功能齐全不支持私有部署
飞书功能齐全不支持私有部署
石墨文档功能齐全拒绝提供产品源代码
UEditor插件开发无缝集成现有系统公式支持需二次开发
定制商业SDK开箱即用龙芯适配不全
开源改造成本低安全审计风险高
WordPaster完全开源(下载源码)
功能齐全终端安装插件

决策:采用WordPaster 插件开发+源码买断混合模式,采购武汉某厂商的文档解析引擎(含源码)。


二、系统架构设计

2.1 技术栈拓扑
AJAX
SM4加密
JDBC
Vue2前端
JSP服务层
阿里云OSS
MySQL主从
信创存储灾备节点
2.2 信创适配矩阵
环境关键问题解决方案
银河麒麟v10+飞腾字体渲染错位预装方正GB2312字体包
龙芯LoongArch+统信UOSWASM兼容性定制LLVM编译版本
IE8+Windows XPActiveX控件拦截部署本地签名证书

三、关键代码实现

3.1 前端插件核心(Vue2+UEditor)
// ueditor-gov-plugin.js
UE.registerUI('officeimport', function(editor) {
  // 创建公文导入按钮
  var btn = new UE.UI.Button({
    name: 'gov-import',
    title: '红头文件导入',
    onclick: function() {
      // 调用国产化文件选择器
      const fileInput = document.createElement('input');
      fileInput.type = 'file';
      fileInput.accept = '.docx,.xlsx,.pptx,.pdf';
      fileInput.onchange = (e) => {
        const file = e.target.files[0];
        // 国密加密传输
        const encrypted = SM4Encrypt(file);
        axios.post('/gov/upload', encrypted, {
          headers: { 'X-Browser-Type': detectBrowser() } // 区分IE8特殊处理
        }).then(res => {
          editor.execCommand('insertHtml', res.data.html);
        });
      };
      fileInput.click();
    }
  });
  return btn;
});

// 国产浏览器检测
function detectBrowser() {
  if (window.ActiveXObject) return 'ie';
  if (navigator.userAgent.includes('QAXSafe')) return 'qax'; 
  if (navigator.userAgent.includes('Loongson')) return 'loong';
}
3.2 后端文件处理(JSP+阿里云OSS)
<%@ page import="com.aliyun.oss.OSSClient" %>
<%@ page import="cn.gov.sm4.SM4Util" %>

<%-- 文件上传处理器 --%>
<%
  try {
    // 国密解密
    byte[] encrypted = request.getInputStream().readAllBytes();
    SM4Util sm4 = new SM4Util(System.getenv("SM4_KEY")); 
    byte[] decrypted = sm4.decrypt(encrypted);

    // 存储到阿里云OSS
    OSSClient oss = new OSSClient(
      "https://oss-cn-hangzhou.aliyuncs.com",
      System.getenv("OSS_AK"),
      System.getenv("OSS_SK")
    );
    String objectName = "redhead/" + UUID.randomUUID() + ".docx";
    oss.putObject("gov-bucket", objectName, new ByteArrayInputStream(decrypted));

    // 返回HTML片段(保留公文格式)
    out.print(String.format(
      "" +
      "" +
      "文件已加密存储", 
      objectName
    ));
  } catch (Exception e) {
    response.sendError(500, "公文处理失败:" + e.getMessage());
  }
%>

四、商务实施要点

4.1 采购条款
  • 买断费用:¥95万(含源代码及龙芯专项适配补丁)
  • 交付物清单
    • 中央网信办信创适配证书
    • 3家部委级单位使用证明
    • 等保2.0三级测评报告
  • 违约条款:每项信创环境不达标扣款10万元
4.2 部署流程
  1. 开发阶段:厂商驻场1周完成环境适配
  2. 测试阶段:在XX市委内网完成压力测试(1000并发文档导入)
  3. 上线阶段:通过麒麟软件商店分发安装包

五、风险控制

风险项等级应对措施
龙芯性能不足采购数学加速卡(预算¥20万)
公文样式失真开发样式强制校验工具
IE8内存泄漏每2小时自动重启编辑器实例

专项保障:建立政企项目应急响应小组(7×24小时待命)。

(注:所有代码需在信创环境中使用JDK1.8_龙芯定制版编译,敏感配置已脱敏)


附件

  1. [XX部委项目验收报告.pdf]
  2. [麒麟软件兼容性证书.jpg]
  3. [SM4算法国密认证文件.zip]

(报告人:XXX 政企事业部技术总监)

复制插件目录

WordPaster插件目录

引入插件文件


	
	UEditor 1.4.3.3示例
	
    
	
	
    
    
    
    
    
    
	
    

注意:不要重复引入jquery,如果您的项目已经引入了jq,则不用再引入jq-1.4
image

在工具栏中增加插件按钮

//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
    toolbars: [
      [
        "fullscreen",
        "source",
        "|",
        "zycapture",
        "|",
        "wordpaster","importwordtoimg","netpaster","wordimport","excelimport","pptimport","pdfimport",
        "|",
        "importword","exportword","importpdf"
      ]
    ]

初始化控件

image

        var pos = window.location.href.lastIndexOf("/");
        var api = [
            window.location.href.substr(0, pos + 1),
            "asp/upload.asp"
        ].join("");
        WordPaster.getInstance({
			//上传接口:http://www.ncmem.com/doc/view.aspx?id=d88b60a2b0204af1ba62fa66288203ed
            PostUrl: api,
			//为图片地址增加域名:http://www.ncmem.com/doc/view.aspx?id=704cd302ebd346b486adf39cf4553936
            ImageUrl: "",
            //设置文件字段名称:http://www.ncmem.com/doc/view.aspx?id=c3ad06c2ae31454cb418ceb2b8da7c45
            FileFieldName: "file",
            //提取图片地址:http://www.ncmem.com/doc/view.aspx?id=07e3f323d22d4571ad213441ab8530d1
            ImageMatch: ''			
        });//加载控件

注意

如果接口字段名称不是file,请配置FileFieldName。ueditor接口中使用的upfile字段
image
点击查看详细教程

配置ImageMatch

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

ImageMatch: '',

点击参考链接

配置ImageUrl

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

ImageUrl: "",

点击查看详细教程

配置SESSION

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

效果

编辑器界面

image

导入Word文档,支持doc,docx

粘贴Word和图片

导入Excel文档,支持xls,xlsx

粘贴Word和图片

粘贴Word

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

Word转图片

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

导入PDF

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

导入PPT

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

上传网络图片

自动上传网络图片

下载示例

点击下载完整示例

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值