news 2026/3/9 19:48:55

xhEditor word粘贴支持批注和修订

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
xhEditor word粘贴支持批注和修订

(推了推黑框眼镜,正色道)作为专注政企数字化解决方案的山西PHP团队,我们为该项目设计了一套高可用性技术方案:

技术架构设计

前端Vue3

xhEditor插件

Word粘贴处理

文档导入处理

图片二进制上传

文档解析服务

阿里云OSS

样式保留引擎

公式转换服务

前端核心代码(Vue3插件)

// src/plugins/xhEditorWord.jsexportdefault{install(app){app.provide('xhEditorWord',{install:(editor)=>{// 添加工具栏按钮editor.addButton('wordpaste',{title:'智能粘贴',icon:'📋',onclick:()=>{navigator.clipboard.read().then(async(data)=>{constblob=awaitdata.items[0].getAsFile();constformData=newFormData();formData.append('content',blob);// 调用PHP接口处理constres=awaitfetch('/api/word-paste',{method:'POST',body:formData});const{html,images}=awaitres.json();editor.insertHTML(html);// 批量上传图片images.forEach(img=>{constimgForm=newFormData();imgForm.append('file',img.blob);fetch('/api/upload',{method:'POST',body:imgForm}).then(r=>r.json()).then(data=>{editor.insertHTML(``);});});});}});// 微信文章粘贴处理editor.on('paste',(e)=>{constclipboard=e.clipboardData;if(clipboard.types.includes('text/html')){consthtml=clipboard.getData('text/html');constparser=newDOMParser();constdoc=parser.parseFromString(html,'text/html');// 提取微信特色图片constimgs=doc.querySelectorAll('img[data-src]');imgs.forEach(img=>{constsrc=img.getAttribute('data-src');fetch(src).then(r=>r.blob()).then(blob=>{constform=newFormData();form.append('file',blob);fetch('/api/upload',{method:'POST',body:form}).then(r=>r.json()).then(data=>{img.setAttribute('src',data.url);});});});editor.insertHTML(doc.body.innerHTML);}});}});}}

后端PHP处理逻辑

getWriter()->getOutput();// 处理公式转换preg_match_all('/{(\\\\[a-z]+)(.*?)}/i',$output,$matches);foreach($matches[0]as$key=>$match){$latex=stripslashes(substr($match,1,-1));$mathml=convertLatexToMathML($latex);$output=str_replace($match,$mathml,$output);}// 提取图片preg_match_all('/src="data:image\/(jpeg|png|gif);base64,(.*?)"/',$output,$imgMatches);$images=[];foreach($imgMatches[2]as$key=>$base64){$blob=base64_decode($base64);$filename=uniqid().'.'.$imgMatches[1][$key];file_put_contents('temp/'.$filename,$blob);$ossUrl=uploadToOSS('temp/'.$filename);$images[]=['original'=>$imgMatches[0][$key],'url'=>$ossUrl];$output=str_replace($imgMatches[0][$key],'src="'.$ossUrl.'"',$output);}echojson_encode(['html'=>$output,'images'=>$images]);functionconvertLatexToMathML($latex){// 调用MathJax服务$ch=curl_init('https://api.mathjax.org/convert');curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(['latex'=>$latex]));curl_setopt($ch,CURLOPT_HTTPHEADER,['Content-Type: application/json']);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$response=curl_exec($ch);curl_close($ch);returnjson_decode($response)->mathml;}functionuploadToOSS($file){// 阿里云OSS SDK集成$ossClient=newOSS\OssClient('key','secret','endpoint');$ossClient->uploadFile('bucket',basename($file),$file);return'https://bucket.oss-cn-hangzhou.aliyuncs.com/'.basename($file);}?>

项目实施要点

  1. 文档解析引擎:采用PhpOffice套件+自定义样式解析器
  2. 公式处理:集成MathJax在线服务(日调用量<10万次免费)
  3. 字体兼容:通过CSS @font-face嵌入GB2312字体文件
  4. 性能优化
    • 异步图片处理队列(Redis+Supervisor)
    • 文档解析缓存(Redis)
    • OSS分片上传(支持大文件)

商业合作模式

  1. 插件授权:基础版999元/年(含技术支持)
  2. 定制开发:2000元/人天(政府项目经验丰富)
  3. 代理分成:推荐客户成交即享20%分成
  4. 联合投标:提供完整的技术方案和演示系统

(推了推眼镜)现加入QQ群223813913,可获取:

  1. 政府项目投标书模板(含等保三级要求)
  2. 公式转换服务白名单配置指南
  3. 政企客户沟通话术手册

(突然压低声音)前100名入群者,赠送价值2999元的《政务系统验收标准手册》,包含300+项检查项清单,助您轻松通过验收!

将插件目录复制到项目中

引入插件文件

定义插件图标

初始化插件

在工具栏中添加插件按钮

效果

编辑器

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

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

Word转图片

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

导入PDF

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

导入PPT

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

上传网络图片

一键自动上传网络图片,自动下载远程服务器图片,自动上传远程服务器图片

下载示例

点击下载完整示例

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

SpringCloud如何处理1T超大文件上传的跨平台兼容性

国密SM4大文件传输系统技术方案&#xff08;第一人称专业版&#xff09; 一、项目背景与核心需求 作为北京某国企技术负责人&#xff0c;我司目前承担某部委级政府招投标项目&#xff0c;需在国产化信创环境下实现100GB级文件安全传输&#xff0c;核心需求包括&#xff1a; …

作者头像 李华
网站建设 2026/3/4 18:48:38

PyCharm激活码永不过期?不如用HunyuanOCR扫描许可证文件进行管理

PyCharm激活码永不过期&#xff1f;不如用HunyuanOCR扫描许可证文件进行管理 在一家中型科技公司的晨会上&#xff0c;运维主管突然发问&#xff1a;“我们还有多少PyCharm Pro的授权没续费&#xff1f;”没人能立刻回答。有人翻企业微信聊天记录&#xff0c;有人查邮箱附件&am…

作者头像 李华
网站建设 2026/3/5 19:59:29

Chrome浏览器扩展开发:基于HunyuanOCR打造智能摘录工具

Chrome浏览器扩展开发&#xff1a;基于HunyuanOCR打造智能摘录工具 在今天的信息洪流中&#xff0c;我们每天都在与海量网页内容打交道——学术论文、跨国电商页面、PDF扫描件、视频字幕……但真正能被“吸收”的信息却少得可怜。问题不在于我们读得不够多&#xff0c;而在于提…

作者头像 李华
网站建设 2026/3/6 15:55:57

核电站安全规程OCR化:HunyuanOCR助力关键文档电子化存档

核电站安全规程OCR化&#xff1a;HunyuanOCR助力关键文档电子化存档 在核电站的日常运维中&#xff0c;一份纸质操作票可能决定千万元设备的安全启停。然而&#xff0c;大量承载着核心操作逻辑与安全规范的历史文档仍以扫描件或实体档案形式沉睡在资料室里——看得见、翻得动&a…

作者头像 李华
网站建设 2026/3/6 6:13:17

HunyuanOCR能否用于版权监测?网络盗版图文识别合规边界讨论

HunyuanOCR能否用于版权监测&#xff1f;网络盗版图文识别合规边界讨论 在数字内容爆炸式传播的今天&#xff0c;一篇原创文章可能在发布几分钟后就出现在多个社交平台的截图中&#xff0c;一段付费课程视频也可能被拆解成无数短视频片段广泛流传。这种“看得见却抓不着”的侵权…

作者头像 李华
网站建设 2026/3/3 2:30:22

超市 AI 货架优化系统:视线热力图让毛利提升 41%

实际场景&#xff1a;华北连锁社区超市2000㎡门店&#xff0c;袋装方便面品类月动销3000包&#xff0c;其中某款统一老坛酸菜面120g5连包连续6个月垫底&#xff0c;采购部已准备砍SKU。AI视频卫士独有“货架级视线热力图”功能揭开真相 部署8颗货架专用AI摄像头红外阵列&#x…

作者头像 李华