外贸商做英文网站的目的官方网站平台下载软件

张小明 2025/12/29 0:33:49
外贸商做英文网站的目的,官方网站平台下载软件,深圳积分商城网站设计,wordpress tag标签页#x1f680;【.NET老油条的TinyMCE插件暴风开发实录】#x1f680; #xff08;附#xff1a;QQ群红包密码#xff1a;“680元暴富”#xff0c;进群领红包抽提成#xff0c;群主已疯#xff01;#xff09; 一、需求翻译#xff08;甲方爸爸の黑话转码#xff09…【.NET老油条的TinyMCE插件暴风开发实录】附QQ群红包密码“680元暴富”进群领红包抽提成群主已疯一、需求翻译甲方爸爸の黑话转码客户说 要个插件能粘Word/Excel/PPT/PDF还要支持公众号复制公式要能变高清图片自动传阿里云按钮一点就搞定别影响现有系统预算680块 我翻译 1. 前端Vue3 TinyMCE5 搞个粘贴按钮 2. 后端ASP.NET WebForm 接收文件解析内容上传OSS 3. 核心难点 - 公式处理Latex→MathML别用图片要矢量 - 形状组EMZ/WMZ这些妖孽必须支持 - 公众号复制自动抓图片替换链接 4. 预算680元群主说推荐成交提20%四舍五入等于白嫖二、技术选型穷鬼版组件免费替代方案备注TinyMCE5开源版社区插件富文本编辑器本体文档解析DocXWordNPOIExcel开源库处理Office文档PDF解析iTextSharpLGPL协议商业使用需注意许可证公式转换MathJax前端渲染Latex→MathML神器阿里云OSS官方SDK.NET版免费额度够用小项目三、前端代码Vue3 TinyMCE插件// src/plugins/TinyMCEWordImport.jsimporttinymcefromtinymce/tinymceimporttinymce/themes/silverimporttinymce/plugins/paste// 注册插件穷鬼版tinymce.PluginManager.add(wordimport,(editor){editor.ui.registry.addButton(wordimport,{text:智能粘贴,icon:paste,onAction:(){// 触发隐藏的textarea捕获粘贴内容consttextareadocument.createElement(textarea)textarea.style.positionfixedtextarea.style.top-9999pxdocument.body.appendChild(textarea)textarea.focus()// 监听粘贴事件textarea.onpasteasync(e){constclipboardDatae.clipboardData||window.clipboardDataconstitemsclipboardData.itemslethtml// 遍历粘贴板内容支持混合粘贴for(leti0;iitems.length;i){if(items[i].kindfile/(docx|xlsx|pptx|pdf)$/i.test(items[i].name)){// 文件粘贴处理伪代码htmlawaithandleFilePaste(items[i].getAsFile())}elseif(items[i].type.includes(html)){// 普通HTML粘贴处理公众号内容htmlclipboardData.getData(text/html)htmlawaitprocessWechatContent(html)// 替换公众号图片}}editor.insertContent(html||未检测到可粘贴内容)document.body.removeChild(textarea)}}})})// 处理公众号内容替换图片为OSS链接asyncfunctionprocessWechatContent(html){constparsernewDOMParser()constdocparser.parseFromString(html,text/html)constimgsdoc.querySelectorAll(img)for(constimgofimgs){if(img.src.includes(mp.weixin.qq.com)){// 伪代码下载图片→上传OSS→替换链接constossUrlawaituploadToOSS(img.src)img.srcossUrl}}returndoc.body.innerHTML}四、后端代码ASP.NET WebForm// WordImportHandler.ashx处理文件上传publicclassWordImportHandler:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){context.Response.ContentTypeapplication/json;try{varfilecontext.Request.Files[0];stringhtml;// 根据文件类型调用不同解析器switch(Path.GetExtension(file.FileName).ToLower()){case.docx:htmlParseWordDocx(file.InputStream);break;case.xlsx:htmlParseExcelToTable(file.InputStream);break;case.pdf:htmlParsePdfToHtml(file.InputStream);break;// 其他格式处理...}// 处理公式替换为MathJax标签htmlProcessMathFormulas(html);// 上传图片到OSS伪代码htmlUploadImagesToOSS(html);context.Response.Write(JsonConvert.SerializeObject(new{successtrue,htmlhtml}));}catch(Exceptionex){context.Response.Write(JsonConvert.SerializeObject(new{successfalse,messageex.Message}));}}// 解析Word文档使用DocX库privatestringParseWordDocx(Streamstream){using(vardocDocX.Load(stream)){varbuildernewStringBuilder();foreach(varparaindoc.Paragraphs){builder.AppendLine(${para.Text});}returnbuilder.ToString();}}// 解析公式伪代码privatestringProcessMathFormulas(stringhtml){// 使用正则匹配MathType/Latex公式图片returnRegex.Replace(html,]classmath-formula[^]src([^]),match$$${GetLatexFromImage(match.Groups[1].Value)}$$);}}五、部署攻略穷鬼专用前端部署把编译后的tinymce-wordimport.js扔到/Scripts/plugins/在TinyMCE初始化配置中添加plugins:wordimport paste,toolbar:wordimport | bold italic ...,external_plugins:{wordimport:/Scripts/plugins/tinymce-wordimport.js}后端部署在IIS中添加WordImportHandler.ashx通用处理程序配置阿里云OSS的AccessKey建议用STS临时凭证数据库根本不需要改所有图片URL存OSS内容存HTML字段六、QQ群暴富指南进群暗号输入680元暴富领红包提成规则推荐客户成交提20%比如680元订单直接拿136元升级黄金会员提50%群主已疯速来薅羊毛今日群内福利20:00 抽《ASP.NET从入门到精通》21:00 分享如何让客户主动加预算话术群主语录“这年头写代码不如搞推广你写3天代码赚680我发3条朋友圈赚6800这就是信息差的力量”群号223813913速来满员封群复制插件安装jquerynpm install jquery在组件中引入// 引入tinymce-vueimportEditorfromtinymce/tinymce-vueimport{WordPaster}from../../static/WordPaster/js/wimport{zyOffice}from../../static/zyOffice/js/oimport{zyCapture}from../../static/zyCapture/z添加工具栏//添加导入excel工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).importExcel()}varregister$1function(editor){editor.ui.registry.addButton(excelimport,{text:,tooltip:导入Excel文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(excelimport,{text:,tooltip:导入Excel文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(excelimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加word转图片工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().importWordToImg()}varregister$1function(editor){editor.ui.registry.addButton(importwordtoimg,{text:,tooltip:Word转图片,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(importwordtoimg,{text:,tooltip:Word转图片,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(importwordtoimg,function(editor){Buttons.register(editor);});}Plugin();}());//添加粘贴网络图片工具栏按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().UploadNetImg()}varregister$1function(editor){editor.ui.registry.addButton(netpaster,{text:,tooltip:网络图片一键上传,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(netpaster,{text:,tooltip:网络图片一键上传,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(netpaster,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入PDF按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().ImportPDF()}varregister$1function(editor){editor.ui.registry.addButton(pdfimport,{text:,tooltip:导入pdf文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(pdfimport,{text:,tooltip:导入pdf文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(pdfimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入PPT按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor);WordPaster.getInstance().importPPT()}varregister$1function(editor){editor.ui.registry.addButton(pptimport,{text:,tooltip:导入PowerPoint文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(pptimport,{text:,tooltip:导入PowerPoint文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(pptimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加导入WORD按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);functionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).importWord()}varregister$1function(editor){editor.ui.registry.addButton(wordimport,{text:,tooltip:导入Word文档,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(wordimport,{text:,tooltip:导入Word文档,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(wordimport,function(editor){Buttons.register(editor);});}Plugin();}());//添加WORD粘贴按钮(function(){use strict;varglobaltinymce.util.Tools.resolve(tinymce.PluginManager);varicohttp://localhost:8080/static/WordPaster/plugin/word.pngfunctionselectLocalImages(editor){WordPaster.getInstance().SetEditor(editor).PasteManual()}varregister$1function(editor){editor.ui.registry.addButton(wordpaster,{text:,tooltip:Word一键粘贴,onAction:function(){selectLocalImages(editor)}});editor.ui.registry.addMenuItem(wordpaster,{text:,tooltip:Word一键粘贴,onAction:function(){selectLocalImages(editor)}});};varButtons{register:register$1};functionPlugin(){global.add(wordpaster,function(editor){Buttons.register(editor);});}Plugin();}());在线代码添加插件// 插件plugins:{type:[String,Array],// default: advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools importcss insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualcharsdefault:autoresize code autolink autosave image imagetools paste preview table powertables},点击查看在线代码初始化组件// 初始化WordPaster.getInstance({// 上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:http://localhost:8891/upload.aspx,// 为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:http://localhost:8891{url},// 设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,// 提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:})在页面中引入组件功能演示编辑器在编辑器中增加功能按钮导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。上传网络图片一键自动上传网络图片。下载示例点击下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

青岛seo网站建设seo 温州

DownKyi全面解析:B站视频下载的终极解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 …

张小明 2025/12/27 11:08:38 网站建设

三亚人才招聘网站wordpress调用随机文章代码

PaddlePaddle镜像下载破亿背后的技术密码 在AI模型日益复杂、部署场景愈发多样的今天,一个开源项目的Docker镜像下载量突破一亿次意味着什么?这不仅是数字的堆叠,更是一场从实验室到产线的大规模技术迁移。而这个主角,正是百度自主…

张小明 2025/12/27 11:08:05 网站建设

vr成品网站源码设计制作小车的基本步骤是

LobeChat 能否实现 API 调用计费?按 Token 消耗收费的技术路径 在 AI 应用加速落地的今天,大语言模型(LLM)已从“能用”走向“好用”,而下一个关键问题浮出水面:如何精准衡量使用成本并合理分摊&#xff1f…

张小明 2025/12/27 11:07:32 网站建设

邯郸网站设计哪家专业便捷网站建设哪家便宜

图书管理系统终极部署指南:从零搭建智能图书馆 【免费下载链接】Library-management-system 基于Java Web的图书管理系统 项目地址: https://gitcode.com/gh_mirrors/librar/Library-management-system 在数字化转型浪潮中,图书管理系统已经成为现…

张小明 2025/12/27 11:06:59 网站建设

外链网站是什么南京有名的网站建设公司

EmotiVoice:让语音反馈充满“自豪感”的情感合成革命 在一款学习类App中,用户连续答对10道难题后,耳边传来一个熟悉又温暖的声音:“太棒了!你真的令人骄傲!”——这声音不仅语气饱满、充满喜悦,…

张小明 2025/12/27 11:06:26 网站建设

网站怎么做百度排名wordpress admin 500

Qwen3-8B-MLX-6bit终极指南:快速上手苹果MLX推理框架 【免费下载链接】Qwen3-8B-MLX-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-8B-MLX-6bit 在人工智能快速发展的今天,如何高效部署和运行大型语言模型成为开发者面临的关键…

张小明 2025/12/27 11:05:53 网站建设