国外什么网站是做外贸公司网站开发用什么软件

张小明 2026/1/2 5:12:46
国外什么网站是做外贸,公司网站开发用什么软件,高端网站建设怎么报名,陕西专业网站建设【穷学生开发手记】99元预算搞定TinyMCE的Word图片转存全终端公式渲染#xff0c;顺便恰饭搞接单群 一、需求拆解#xff1a;穷学生的“既要又要还要” 作为江苏某软件学院大三“卷王”#xff0c;最近在给自己的CMS新闻系统升级#xff0c;需求如下#xff1a; 核心功能…【穷学生开发手记】99元预算搞定TinyMCE的Word图片转存全终端公式渲染顺便恰饭搞接单群一、需求拆解穷学生的“既要又要还要”作为江苏某软件学院大三“卷王”最近在给自己的CMS新闻系统升级需求如下核心功能TinyMCE编辑器加按钮支持Word粘贴图片自动上传阿里云OSS别问为啥不用本地存储穷。保留Word里的表格、字体、颜色、LaTeX公式转MathML、MathType公式图片形式也要保留。支持Word/Excel/PPT/PDF导入样式和图片全保留导师说“丑系统不给分”。技术约束前端Vue2马上升级Vue3但不想重构。后端PHP用Zend Studio写导师说“PHP是世界上最好的语言”。服务器阿里云ECS用自己的电脑当测试机电费都快交不起了。预算99元一顿火锅钱但能买200包辣条。社交需求找个接单群顺便让师哥师姐内推毕业即失业警告⚠️。建个QQ群223813913新人加群领1~99元红包钱不多图个乐。二、开源组件筛选白嫖党的狂欢1. TinyMCE插件选型目标找个能解析Word内容、自动上传图片到OSS的插件。候选方案tiny-mce-plugin-paste-office免费优点支持Office粘贴但图片需手动处理。自定义插件穷人最终方案用TinyMCE的paste和file_picker_callbackAPI结合后端PHP处理图片上传。2. LaTeX公式转MathML方案前端用MathJax渲染但多端兼容性差。后端用Pandoc转MathMLPHP调用Pandoc命令行穷但有效。3. 文件导入Word/Excel/PPT/PDF方案PHPWordWord解析。PHPExcelExcel解析。PHP-PPTXPPT解析。PDFParserPDF解析。统一处理解析后提取HTML和图片图片上传OSSHTML塞进TinyMCE。三、开发过程从0到1的骚操作1. 前端Vue2 TinyMCE定制插件步骤1安装TinyMCE和基础插件npminstalltinymce/tinymce-vue步骤2自定义插件wordpaste.jstinymce.PluginManager.add(wordpaste,function(editor){editor.on(paste,function(e){consthtmle.clipboardData.getData(text/html);if(htmlhtml.includes(word-content)){// 提取图片Base64传给后端换OSS URLconstimageshtml.match(/]srcdata:image[^]/g)||[];images.forEach(img{constbase64img.match(/srcdata:image([^;]);base64,([^])/);if(base64){// 调用后端API上传图片fetch(/api/upload-oss,{method:POST,body:JSON.stringify({base64:base64[2]})}).then(resres.json()).then(data{// 替换Base64为OSS URLconstnewHtmlhtml.replace(img,img.replace(base64[0],src${data.url}));editor.insertContent(newHtml);});}});}});});步骤3在Vue中集成2. 后端PHP处理图片上传和公式转换图片上传到OSS// upload-oss.php$base64$_POST[base64];$imageDatabase64_decode(preg_replace(#^data:image/\w;base64,#i,,$base64));$ossClientnewOSS\OssClient(key,secret,endpoint);$ossClient-putObject(bucket,images/.uniqid()..png,$imageData);echojson_encode([urlhttps://bucket.oss-cn-hangzhou.aliyuncs.com/images/xxx.png]);LaTeX转MathMLPandoc调用// latex-to-mathml.php$latex$_POST[latex];$mathmlshell_exec(echo $latex | pandoc -f latex -t mathml);echo$mathml;3. 文件导入Word示例前端调用PHPWord解析// 用户上传Word文件后constformDatanewFormData();formData.append(file,file);fetch(/api/import-word,{method:POST,body:formData}).then(resres.json()).then(data{tinymce.activeEditor.setContent(data.html);});后端PHPWord解析// import-word.phprequire_oncePHPWord/autoload.php;$phpWord\PhpOffice\PhpWord\IOFactory::load($_FILES[file][tmp_name]);$htmlWriternew\PhpOffice\PhpWord\Writer\HTML($phpWord);$html$htmlWriter-getContent();// 提取图片并上传OSS同上echojson_encode([html$html]);四、成果展示穷学生的“豪华”系统Word粘贴效果表格、字体、颜色全保留。图片自动上传OSS替换为URL。LaTeX公式渲染PC/手机/平板全终端高清显示MathML的功劳。文件导入Word/Excel/PPT/PDF都能导样式不乱。五、恰饭时间接单群和内推QQ群223813913新人加群领1~99元红包钱不多但能买几包辣条。推荐客户提20%比如成交1000元你拿200元躺着赚钱。内推需求师哥师姐看看我会写PHP/Vue/Java能扛996求内推最后一句骚话“穷学生的代码不是写出来的是薅羊毛薅出来的”群号再发一遍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进行投诉反馈,一经查实,立即删除!

网站程序指的是什么建筑网官网软件

3分钟快速上手Figma中文插件:设计师专属本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma英文界面而烦恼吗?想要轻松驾驭这款专业设计工…

张小明 2025/12/28 23:04:51 网站建设

手机网站推荐一个重庆做网站公司

AutoGPT如何判断任务优先级变化?动态重规划机制 在如今的AI浪潮中,我们早已不再满足于一个只会回答问题的聊天机器人。真正让人眼前一亮的是那些能“自己动起来”的智能体——它们拿到一个目标后,不需要步步指点,就能拆解任务、调…

张小明 2025/12/28 23:04:18 网站建设

上海网站建设公司案例网站建设标题

摘要​随着新型智慧城市建设的深入推进,城市轨道交通(以下简称 “城轨”)作为城市交通网络的核心枢纽,面临着客流量激增、运营成本攀升、服务质量要求提高等多重挑战。数智化技术(大数据、人工智能、物联网、云计算等&…

张小明 2025/12/31 2:50:15 网站建设

网站设计师需要学什么好123设为主页官网网址大全

人工智能在健康医疗软件中的应用关键词:人工智能、健康医疗软件、医疗诊断、疾病预测、医疗影像分析摘要:本文深入探讨了人工智能在健康医疗软件中的应用。首先介绍了相关背景,包括目的范围、预期读者等内容。接着阐述了人工智能与健康医疗软…

张小明 2025/12/30 11:50:30 网站建设

如何在网站上做自动弹出信誉好的郑州网站建设

PaddlePaddle自定义数据集训练全流程:GPU加速实操演示 在深度学习项目中,模型训练往往不是最难的部分——真正让人头疼的是如何把从零散图片或文本数据开始的整个流程跑通。尤其是当企业需要基于自有数据定制AI能力时,数据格式五花八门、环境…

张小明 2025/12/31 7:17:14 网站建设

高端网站建设公司有哪些最新新闻热点大事件

IPC(进程间通信)概述 进程空间独立,但进程间常需数据共享或交换,因此需要IPC机制。IPC允许不同进程高效协作,例如数据传输、同步操作等。IPC方式多样,可根据需求选择。 IPC主要种类 古老通信方式&#x…

张小明 2025/12/30 17:15:01 网站建设