当前位置: 首页 > news >正文

OA系统开发中,KindEditor如何优化WORD截图复制流程?

(推了推黑框眼镜,手指在键盘上噼里啪啦敲击)各位老铁,咱北京程序员又来唠嗑了!最近接了个CMS官网的活儿,客户爸爸要求在KindEditor里整点花活——要能直接把Word/Excel/PPT/PDF里的内容连锅端到编辑器里,连公式和形状都不能丢!这哪是需求啊,这分明是要让咱把Office全家桶塞进浏览器里啊!


前端骚操作(Vue3 + KindEditor插件)

// src/plugins/OfficeImporter.jsexportdefault{init(editor){editor.addButton('officeImport',{title:'一键导入Office文档',icon:'icon-office',onclick:()=>{constinput=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;// 调用后端API处理文件constformData=newFormData();formData.append('file',file);try{constres=awaitfetch('/api/office/import',{method:'POST',body:formData});consthtml=awaitres.text();editor.insertHtml(html);// 插入处理后的HTML}catch(err){alert('导入失败:'+err.message);}};input.click();}});}};// main.js 注册插件importOfficeImporterfrom'./plugins/OfficeImporter';KindEditor.plugin('officeImport',OfficeImporter);

后端神操作(PHP处理Office转HTML)

// api/office/import.phpgetContent();}functionhandleExcel($filePath){$spreadsheet=SpreadsheetIO::load($filePath);$writer=new\PhpOffice\PhpSpreadsheet\Writer\Html($spreadsheet);return$writer->generateHtmlHeader(false).$writer->generateSheetData();}functionhandlePPT($filePath){$phpPresentation=PresentationIO::load($filePath);$html='';foreach($phpPresentation->getAllSlides()as$slide){$html.='';foreach($slide->getShapeCollection()as$shape){if(method_exists($shape,'getRichTextElements')){$html.=''.htmlspecialchars($shape->getRichTextElements()[0]->getText()).'';}}$html.='';}return$html;}functionuploadImagesToOSS($html,$tempDir){// 正则匹配所有img标签的srcpreg_match_all('/]+src="([^"]+)"[^>]*>/i',$html,$matches);foreach($matches[1]as$i=>$src){if(strpos($src,'data:image')===0){// 处理base64图片$imageData=substr($src,strpos($src,',')+1);$imageName=uniqid().'.png';$ossPath='uploads/'.date('Ymd').'/'.$imageName;$ossClient->putObject('your-bucket',$ossPath,base64_decode($imageData));$html=str_replace($src,'https://your-bucket.oss-cn-beijing.aliyuncs.com/'.$ossPath,$html);}elseif(file_exists($tempDir.'/'.basename($src))){// 处理本地临时文件$imageName=uniqid().'.'.pathinfo($src,PATHINFO_EXTENSION);$ossPath='uploads/'.date('Ymd').'/'.$imageName;$ossClient->putObject('your-bucket',$ossPath,file_get_contents($tempDir.'/'.basename($src)));$html=str_replace($src,'https://your-bucket.oss-cn-beijing.aliyuncs.com/'.$ossPath,$html);}}return$html;}// 主逻辑$tempDir=sys_get_temp_dir();$filePath=$tempDir.'/'.uniqid().'.'.pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION);move_uploaded_file($_FILES['file']['tmp_name'],$filePath);$html='';switch(pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION)){case'doc':case'docx':$html=handleWord($filePath);break;case'xls':case'xlsx':$html=handleExcel($filePath);break;case'ppt':case'pptx':$html=handlePPT($filePath);break;case'pdf':// 这里可以用pdftotext或imagick处理PDF$html='PDF导入功能需额外配置';break;}// 处理图片上传到OSS$html=uploadImagesToOSS($html,$tempDir);// 清理临时文件unlink($filePath);echo$html;

数据库设计(就这?)

-- 根本不需要改表结构!-- 所有图片都存OSS,HTML直接塞进content字段ALTERTABLE`news`MODIFY`content`LONGTEXTCOMMENT'存储带Office样式的HTML';

群内赚钱秘籍(正经脸)

  1. QQ群:223813913新人进群领红包,推荐客户拿20%提成
  2. 代理机制:你负责拉客户,我负责写代码,分成自动到账
  3. 技术优势
    • 独家支持MathType/Latex公式转MathML
    • 完美解析emz/wmz矢量图
    • 公众号内容一键搬运
  4. 成本计算
    • 开发成本:0元(开源组件拼装)
    • 服务器成本:阿里云ECS + OSS(客户自付)
    • 你的时间成本:复制粘贴这段代码的时间

(突然正经)说真的,这需求我调研了两周,发现市面上要么贵得离谱,要么功能阉割。咱们这个方案:

  • 前端:Vue3 + KindEditor插件(1天搞定)
  • 后端:PHPOffice全家桶(3天搞定)
  • 部署:宝塔面板一键安装(半天搞定)

最关键的是——客户根本分不清你是自己开发的还是集成的!所以兄弟们,赶紧加群,这波红利能吃三年!

(突然弹出消息提示)“您有新的代理注册申请,预计提成:¥420.00” 哎,写代码哪有收提成香啊~

上传工具栏插件文件夹

上传插件文件夹

控件初始化

在head中引入组件文件
注意,不要重复引入jquery,如果您的页面已经引入了jquery这里就不要再引入jquery 1.4了。

WordPaster For KindEditor-4.x # 初始化组件 WordPaster.getInstance({ui:{render:"wdpst"}//目标容器,一般为div});

设置快捷键

将插件添加到工具栏,并挂载KindEditor的Ctrl+V快捷键事件

注意

1.如果接口字段名称不是file,请配置FileFieldName。

点击查看教程
2.如果接口返回JSON,请配置ImageMatch

点击查看教程

3.如果接口返回的图片地址没有域名,请配置ImageUrl

点击查看教程

整合效果

效果

编辑器界面

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

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

Word转图片

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

导入PDF

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

导入PPT

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

上传网络图片

示例下载

下载完整示例

http://www.jsqmd.com/news/312401/

相关文章:

  • jquery结合WebUploader在局域网实现大文件断点续传?
  • vue3如何通过WebUploader在局域网实现大文件断点续传?
  • 2026年超声波塑焊机厂家推荐排行榜:全自动/手持式/热熔/激光塑焊机,专业焊接技术与高效解决方案深度解析
  • 农业数据平台如何利用KindEditor实现WORD图表复制?
  • 医院HIS系统如何通过KindEditor管理WORD影像图片?
  • 解析MoltBot(原Clawdbot)与AI生态:概念、区别及关联全景
  • 技术诗:《费曼ai》
  • in the viewpoint of Loma, the Germans are barbarians.
  • 独角兽+火箭+启航:2026年互联派定制化方案适配不同阶段求职需求
  • 2026国内最新职业装生产商top5推荐!优质职业装企业权威榜单发布,资质服务双优助力校园文化建设
  • 跨校区教研协作场景:企业网盘实测协作稳定性
  • 2026年乌鲁木齐旅行社推荐:基于多季节路线实测评价,针对定制化与体验痛点精准指南
  • 2026年乌鲁木齐旅行社推荐与排名:五大服务商全景解析,聚焦定制体验与行程安全痛点
  • 什么是“阿克苏抗燃油”?为何它成为工业安全防护的关键选择?
  • 盘点深圳纯手工大颗粒虾滑厂家该怎么选
  • 什么是阿克苏抗燃油?——走进旭瑞达抗燃油的技术与应用世界
  • 工业冷水机组采购全攻略:核心要点与优质制造商解析
  • 2026年1月最新权威发布:乌鲁木齐旅行社综合服务实力TOP5全景解析(基于2025年度市场数据)
  • 2026年乌鲁木齐旅行社推荐:跨境与户外特种游评价,针对资源获取与安全痛点指南
  • 2026国内最新校服供应商top4推荐!优质校服生产商权威榜单发布,资质服务双优助力青少年健康成长
  • 榆林咸阳发泡混凝土厂家靠谱推荐:陕西曲益存建筑工程有限公司
  • 2026年卧式拉伸试验机选购攻略:知名品牌、耐用性与服务保障
  • 选购翻抛机怎么选,慧耕科技个性化定制方案怎么样?
  • 2026年乌鲁木齐旅行社推荐:北疆环线深度体验评测,解决路线同质与安全痛点
  • 2026年安庆实践多口碑好的中专学校推荐,合肥向远实力出众
  • 2026年乌鲁木齐旅行社推荐:五大服务商综合排名与深度评测解析
  • 学长亲荐!专科生必备!2026 TOP10 AI论文网站深度测评
  • python中的...省略号
  • 2026年乌鲁木齐旅行社推荐:五大服务商综合排名与深度评价
  • 2026年乌鲁木齐旅行社推荐与排名:五大服务商全景解析与避坑指南