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

xhEditor word粘贴支持表格和列表

(扶了扶眼镜,敲着机械键盘开始码字)

各位老铁,作为山西网络安全专业的"码农",今天给大家表演一个"如何在预算99元内实现Word内容一键粘贴"的绝活。首先,咱们得给xhEditor这个老编辑器动个手术,给它装个"任意门"——

前端部分(Vue2版):

// 在main.js全局注册粘贴插件importXhEditorfrom'xheditor'importMathJaxfrom'mathjax'XhEditor.plugins.push({name:'wordPaste',init:function(editor){editor.addButton('wordpaste',{icon:'fa fa-file-word',click:function(){// 弹出文件选择对话框constinput=document.createElement('input')input.type='file'input.accept='.docx,.doc'input.onchange=async(e)=>{constfile=e.target.files[0]constformData=newFormData()formData.append('file',file)// 调用后端API处理Word内容constres=awaitaxios.post('/api/wordparse',formData)// 插入处理后的HTML内容editor.insertHtml(res.data.content)}input.click()}})}})// 粘贴事件监听document.addEventListener('paste',(e)=>{constitems=(e.clipboardData||e.originalEvent.clipboardData).itemsfor(letitemofitems){if(item.type.indexOf('image')===0){constblob=item.getAsFile()constformData=newFormData()formData.append('img',blob)// 上传图片到OSSaxios.post('/api/upload',formData).then(res=>{// 替换为OSS路径consturl=res.data.url document.execCommand('insertImage',false,url)})}}})

后端部分(C#版):

[Route("api/wordparse")]publicclassWordParserController:ApiController{[HttpPost]publicasyncTaskParseWord(){varprovider=newMultipartMemoryStreamProvider();awaitRequest.Content.ReadAsMultipartAsync(provider);foreach(varfileinprovider.Contents){varfilename=file.Headers.ContentDisposition.FileName.Trim('"');varbuffer=awaitfile.ReadAsByteArrayAsync();// 使用OpenXml解析Word文档using(vardoc=DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Open(newMemoryStream(buffer),false)){varparser=newWordContentParser(doc);varhtml=parser.ToHtml();// 自定义解析逻辑// 处理公式转换html=Regex.Replace(html,@"\$\\$(.*?)\$\\$",(match)=>{varlatex=match.Groups[1].Value;return$"{LatexToMathML(latex)}";});returnOk(new{content=html});}}returnBadRequest();}}

(突然拍桌)等等!这公式转换的坑比煤矿还深!推荐个神器——LaTeX2MathML,直接把Latex公式变成MathML,手机端用MathJax渲染,电脑端用Katex,双倍保障!

关于文件导入功能,给大家整了个"四件套"处理方案:

  • Word:用DocumentFormat.OpenXml
  • Excel:EPPlus库(注意商业授权)
  • PPT:OpenXml PowerTools
  • PDF:PdfPig库(开源免费)

(突然神秘兮兮)知道为啥选阿里云OSS不?因为咱们可以白嫖他们的免费额度啊!学生认证送6个月,配合对象存储的防盗链设置,四舍五入省了一个亿!

最后关于那个QQ群…(搓手)其实是我建的接单群,里面藏着各种"白嫖"技巧:

  1. 每天签到领红包,积少成多
  2. 推荐客户拿20%提成,够吃一个月刀削面
  3. 黄金会员直接50%分成,够交半年房租

(突然正经)不过说真的,要找网络安全工作的话,建议多刷刷CTF,内推的话…(掏出手机)加群备注"山西煤老板",我让HR优先看简历!

代码仓库地址:https://github.com/yourname/cms-upgrade
(突然发现预算超了99元)咳咳…这个OSS费用可能需要大家众筹一下…

将插件目录复制到项目中

引入插件文件

定义插件图标

初始化插件

在工具栏中添加插件按钮

效果

编辑器

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

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

Word转图片

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

导入PDF

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

导入PPT

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

上传网络图片

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

下载示例

点击下载完整示例

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

相关文章:

  • Node.js stream.pipeline轻松处理流错误
  • python北工国际健身俱乐部课程预约管理系统论文_br468--(flask django Pycharm)
  • 生日祝福市场新商机:个人用户也能制作明星脸数字人视频
  • 【博客之星 2025】我不是在写博客,就是在写博客的路上
  • python协同过滤算法美食推荐小程序 论文7tr93--(flask django Pycharm)
  • 企业培训视频降本增效:HeyGem批量生成员工教学素材
  • 汽车销售展厅应用:数字人讲解车型参数与优惠活动
  • 细胞工程材料和技术:细菌纳米注射器
  • 盲盒营销新玩法:每个盒子附赠专属数字人语音祝福
  • Java同步器的介绍
  • 法语情景会话练习:数字人扮演巴黎街头路人对话
  • CI/CD工具选型:Jenkins、GitLab CI与Arbess的全面对比指南 - 实践
  • 保加利亚语民俗舞蹈教学:舞者数字人演示动作要领
  • 2025可信的GEO优化渠道TOP5推荐:GEO优化服务哪个好哪家强? - 工业设备
  • 校园广播站革新:学生用HeyGem制作创意播报视频
  • Java队列同步器的实现分析
  • 2026年美国身份办理机构推荐:基于客户案例口碑的5强榜单深度评测 - 品牌推荐
  • 葡萄牙语足球解说:激情 commentary 配合比赛画面
  • 【.NET开发者必看】掌握这4种拦截器调试技术,效率提升200%
  • 2025年专业GEO搜索优化公司推荐,精准获客渠道全解析 - 工业品牌热点
  • 罗马尼亚语乡村音乐传承:民谣歌手数字人演唱传统歌曲
  • 德语商务邮件写作:职场导师数字人提供实用模板
  • PHP 8.7性能提升30%?真实压测数据深度解析,不容错过
  • 股权激励咨询服务:创锟咨询,靠谱之选 - mypinpai
  • 克罗地亚语航海知识普及:船长数字人教授海上生存技能
  • 金融产品介绍视频标准化:HeyGem统一品牌形象输出
  • 2025年砂磨机大型厂家推荐:靠谱的砂磨机制造企业有哪些? - myqiye
  • 软件工程毕设最全开题汇总
  • 2025年流程完善、创新能力强、售后好的集成电路设计制造厂推荐 - 工业品网
  • 哈萨克语双语教育推进:教师数字人鼓励母语学习