news 2026/1/29 8:56:03

芯片制造文档通过UEDITOR的ELECTRON插件如何转存CAD图纸?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
芯片制造文档通过UEDITOR的ELECTRON插件如何转存CAD图纸?

贵州PHP程序员的CMS编辑器插件大冒险

嘿,各位技术大佬们好!我是贵州山沟沟里爬出来的PHP程序员老王,最近接了个CMS企业官网的外包项目,客户爸爸提出了个"变态"需求——要在UEditor里实现Word/Excel/PPT/PDF一键导入,还要保留各种花里胡哨的格式,连LaTeX公式都要支持!这需求简直比让我用脚写代码还难啊!

需求分析(老板版)

客户说:“我们公司那些50多岁的领导,用Word写个新闻稿都要折腾半天,现在要他们学Markdown?不如让他们去造火箭!你们程序员不就是干这个的吗?给我搞个一键粘贴功能,要像微信复制粘贴那么简单!”

技术选型(穷鬼版)

  • 前端:Vue3 CLI(白嫖的)
  • 编辑器:UEditor(百度开源的,不要钱)
  • 后端:PHP(我的老伙计)
  • 存储:阿里云OSS(老板说超过100块就让我用自家硬盘)
  • 预算:680元(够买两箱泡面+一箱红牛)

解决方案(山寨版)

前端部分(Vue3插件)

// src/plugins/ueditor-word-import.jsexportdefault{install(app,options){// 注册UEditor插件按钮UE.registerUI('wordimport',function(editor,uiName){constbtn=newUE.ui.Button({name:uiName,title:'Word导入',cssRules:'background-position: -726px -77px;',onclick:function(){// 调用后端APIconstinput=document.createElement('input');input.type='file';input.accept='.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf';input.onchange=async(e)=>{constfile=e.target.files[0];if(!file)return;constformData=newFormData();formData.append('file',file);try{constres=awaitfetch('/api/ueditor/import',{method:'POST',body:formData});constdata=awaitres.json();if(data.success){editor.execCommand('insertHtml',data.content);}else{alert('导入失败:'+data.msg);}}catch(err){alert('网络错误:'+err.message);}};input.click();}});editor.addListener('ready',function(){editor.registerButton(uiName,btn);});returnbtn;},10);}}

后端部分(PHP处理)

// api/ueditor/import.php'your-access-key','accessKeySecret'=>'your-secret-key','endpoint'=>'oss-cn-hangzhou.aliyuncs.com','bucket'=>'your-bucket-name'];// 接收文件if(!isset($_FILES['file'])){die(json_encode(['success'=>false,'msg'=>'没有上传文件']));}$file=$_FILES['file'];$tmpPath=$file['tmp_name'];$fileName=$file['name'];$fileExt=strtolower(pathinfo($fileName,PATHINFO_EXTENSION));// 简单验证文件类型$allowedTypes=['doc','docx','xls','xlsx','ppt','pptx','pdf'];if(!in_array($fileExt,$allowedTypes)){die(json_encode(['success'=>false,'msg'=>'不支持的文件类型']));}// 使用Mammoth.js处理Word(实际项目中应该用PHP库,这里简化处理)// 实际项目中建议使用PHPWord、PHPExcel等库functionconvertWordToHtml($filePath){// 这里应该是调用PHP库处理Word的代码// 由于预算有限,我们假装已经处理好了...return'转换后的标题这里是转换后的内容';}// 处理LaTeX公式(简化版)functionconvertLatexToMathml($latex){// 实际应该用专业库处理,这里只是示例$mathml=''.''.htmlspecialchars($latex).''.'';return$mathml;}// 模拟处理过程$content='';switch($fileExt){case'doc':case'docx':$content=convertWordToHtml($tmpPath);// 替换模拟的LaTeX公式$content=preg_replace_callback('/\\\$(.+?)\\\$/',function($matches){returnconvertLatexToMathml($matches[1]);},$content);break;// 其他文件类型处理...default:$content='暂不支持此文件类型的完整转换';}// 上传图片到OSS(简化版)functionuploadToOss($filePath,$originalName){global$config;try{$ossClient=newOssClient($config['accessKeyId'],$config['accessKeySecret'],$config['endpoint']);$object='ueditor/'.uniqid().'_'.basename($originalName);$ossClient->uploadFile($config['bucket'],$object,$filePath);return'https://'.$config['bucket'].'.'.$config['endpoint'].'/'.$object;}catch(OssException$e){returnfalse;}}// 模拟图片处理(实际项目中需要遍历HTML提取图片)$content.='';echojson_encode(['success'=>true,'content'=>$content]);?>

部署方案(穷鬼版)

  1. 买台阿里云ECS最便宜的服务器(99元/年)
  2. 安装宝塔面板(免费)
  3. 上传代码到网站目录
  4. 配置Nginx反向代理
  5. 申请免费SSL证书(Let’s Encrypt)
  6. 泡杯茶,等待客户验收

群主の野望

各位大佬,看到这个项目是不是觉得很有前途?现在加入我的QQ群:223813913,不仅能:

  1. 免费领取1-99元红包(绝对不坑)
  2. 获得20%推荐提成(躺着赚钱)
  3. 参与技术讨论(吹牛不上税)
  4. 获取外包项目(真·有钱一起赚)

算笔账:

  • 推荐10个客户 = 2000元提成
  • 推荐100个客户 = 20000元提成
  • 推荐1000个客户 = 200000元提成(够在贵阳买套房了!)

这比996香多了吧?赶紧加群,错过这村就没这店了!

免责声明

以上代码为简化示例,实际项目中需要:

  1. 添加完善的错误处理
  2. 实现真正的文件格式转换
  3. 加强安全性验证
  4. 优化性能
  5. 添加单元测试

但谁让咱们预算只有680元呢?能跑起来就行,要啥自行车!

复制插件目录

引入插件文件

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/1/28 15:24:57

SQLite3学习笔记3:UTC和CST 时区偏差问题

1. 校准 Ubuntu 系统时间 / 时区 若系统时间本身和实际时间对不上,执行以下命令校准需同理校准时区 / 同步 NTP 时间): # 1. 设置时区为上海(嵌入式设备常用时区) sudo timedatectl set-timezone Asia/Shanghai# 2. …

作者头像 李华
网站建设 2026/1/27 14:12:09

彻底解决Play Integrity验证限制:自定义ROM用户的5个突破技巧

彻底解决Play Integrity验证限制:自定义ROM用户的5个突破技巧 【免费下载链接】PlayIntegrityFix Fix Play Integrity (and SafetyNet) verdicts. 项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix 为什么你的自定义ROM总是验证失败&…

作者头像 李华
网站建设 2026/1/27 14:11:18

手把手教你学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机轴电压与轴电流抑制仿真

目录 手把手教你学Simulink 一、引言:为什么“新电机用半年就轴承烧毁”?——轴电压是隐形杀手! 二、轴电压产生机理:从PWM到轴承电蚀的路径 1. 共模电压来源 2. 耦合路径:寄生电容网络 三、应用场景:新能源汽车驱动电机的轴承保护设计 系统参数 设计目标 四、建…

作者头像 李华
网站建设 2026/1/29 3:12:47

百度网盘命令行工具BaiduPCS-Go:高效文件管理指南

百度网盘命令行工具BaiduPCS-Go:高效文件管理指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go BaiduPCS-Go是一款基于Go语言开发的百度网盘C…

作者头像 李华
网站建设 2026/1/28 17:42:14

从零搭建企业级开源仓库管理系统:KopSoft WMS实战指南

从零搭建企业级开源仓库管理系统:KopSoft WMS实战指南 【免费下载链接】KopSoftWms KopSoft仓库管理系统 项目地址: https://gitcode.com/gh_mirrors/ko/KopSoftWms 在数字化转型加速的今天,高效的仓库管理已成为企业降本增效的关键环节。本文将以…

作者头像 李华
网站建设 2026/1/27 14:11:08

如何高效配置微信防撤回补丁:3个步骤轻松掌握消息保护功能

如何高效配置微信防撤回补丁:3个步骤轻松掌握消息保护功能 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcod…

作者头像 李华