新加坡建设局网站哈尔滨建设局网站
2026/3/22 1:45:24 网站建设 项目流程
新加坡建设局网站,哈尔滨建设局网站,怎么建立网上销售平台,台州seo管理河南软件工程大三狗的CMS升级记#xff1a;从Word粘贴到Latex公式#xff0c;99元预算的极限操作#xff01; 一、项目背景#xff1a;穷学生的倔强 作为一枚即将毕业的大三狗#xff0c;自己撸了个CMS新闻管理系统#xff0c;但后台编辑器太挫——从Word复制内容粘贴进…河南软件工程大三狗的CMS升级记从Word粘贴到Latex公式99元预算的极限操作一、项目背景穷学生的倔强作为一枚即将毕业的大三狗自己撸了个CMS新闻管理系统但后台编辑器太挫——从Word复制内容粘贴进去图片全变×表格乱成狗Latex公式直接GG。于是立下Flag99元预算内实现Word/Excel/PPT/PDF一键导入图片自动上云公式全终端高清显示顺便在技术群发个红包拉人群号223813913新人进群领199元说不定还能白嫖个外包项目呢。二、技术选型白嫖党的狂欢1. 编辑器插件UEditor官方插件免费但功能弱不支持复杂样式和公式转换。开源神器mammoth.jsmathlivemammoth.js解析Word文档提取样式和图片免费。mathlive将Latex公式转为MathML多终端高清显示还是免费。图片转存阿里云OSS SDKPHP版免费流量费另算但本地测试先薅羊毛。2. 开发环境前端Vue2 CLI兼容Vue3未来再说先毕业要紧。后端PHPZend Studio写代码本地WAMP跑服务。数据库MySQL存储图片OSS路径和文章内容。服务器自己的电脑IP192.168.1.100欢迎来DDoS测试。三、开发过程从0到1的骚操作1. 前端给UEditor加按钮// main.js (Vue2入口文件)importUEfromueditor;importmathlive/dist/mathlive.css;// 公式样式exportdefault{mounted(){// 动态加载UEditor和插件constscriptdocument.createElement(script);script.src/static/ueditor/ueditor.config.js;script.onload(){// 注册自定义插件window.UE.registerPlugin(wordImporter,function(){return{buttons:{word-paste:{title:Word粘贴,onclick:()this.handleWordPaste()},doc-import:{title:文档导入,onclick:()this.handleDocImport()}}};});// 初始化编辑器this.editorwindow.UE.getEditor(editor,{toolbars:[[word-paste,doc-import]]// 添加按钮});};document.head.appendChild(script);},methods:{handleWordPaste(){// 调用后端API处理粘贴内容navigator.clipboard.readText().then(text{this.$http.post(/api/word/paste,{content:text}).then(res{this.editor.setContent(res.data.html);});});},handleDocImport(){constinputdocument.createElement(input);input.typefile;input.accept.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf;input.onchangeasync(e){constfilee.target.files[0];constformDatanewFormData();formData.append(file,file);constresawaitthis.$http.post(/api/doc/import,formData);this.editor.setContent(res.data.html);};input.click();}}};2. 后端PHP处理文档和图片// api/word/paste.php (处理Word粘贴)value();// 提取图片并上传到OSS$domnewDOMDocument();$dom-loadHTML($html);$images$dom-getElementsByTagName(img);foreach($imagesas$img){$base64$img-getAttribute(src);if(strpos($base64,data:image)0){$datasubstr($base64,strpos($base64,,)1);$imageDatabase64_decode($data);$ossPathuploads/.uniqid()..png;// 调用阿里云OSS SDK上传$ossClientnewOSS\OssClient(ak,sk,endpoint);$ossClient-putObject(your-bucket,$ossPath,$imageData);$img-setAttribute(src,https://your-bucket.oss-cn-hangzhou.aliyuncs.com/.$ossPath);}}// 处理Latex公式简单替换实际用mathlive更复杂$htmlpreg_replace_callback(/\\\\\((.?)\\\\\)/,function($matches){return.htmlspecialchars($matches[1]).;},$html);echojson_encode([html$dom-saveHTML()]);?3. 公式显示MathML的魔法export default { data() { return { articleContent: // 从后端获取的HTML包含MathML }; }, mounted() { // 加载mathlive库CDN白嫖 const script document.createElement(script); script.src https://unpkg.com/mathlive/dist/mathlive.min.js; script.onload () { this.articleContent mathmrowmiE/mimo/momim/mimsupmic/mimn2/mn/msup/mrow/math; // 实际项目中从后端获取 }; document.head.appendChild(script); } };四、测试与部署穷学生的智慧本地测试用WAMP跑PHP后端Vue前端用npm run serve。测试Word粘贴表格、字体、颜色保留90%公式显示正常。测试图片上传本地路径先替换为OSS测试地址实际部署再改配置。部署到阿里云ECS买最便宜的ECS1核1G学生价9.9元/月。安装PHPMySQLNginx配置域名和SSLLet’s Encrypt免费证书。修改OSS配置为生产环境Bucket。五、成果展示99元预算的奇迹功能实现Word粘贴图片自动上云样式保留。文档导入支持Word/Excel/PPT/PDFExcel/PPT需额外解析库预算内搞不定先放鸽子。公式显示Latex转MathMLPC/手机/平板高清显示。成本阿里云ECS9.9元/月学生优惠。OSS流量免费额度够用本地测试薅羊毛。开发工具Zend Studio学校实验室有正版白嫖成功。剩余预算99 - 0 99元买奶茶庆祝。六、后续计划与求内推优化方向支持Excel/PPT导入可能需要买PhpSpreadsheet库超预算了哭。移动端适配Vue3UniApp重写等毕业有钱了再说。求内推群号223813913进群领红包顺便看看有没有大佬内推技能标签PHP/Vue/UEditor/阿里云OSS/Linux部署。最后喊话“毕业即失业不存在的自己造轮子白嫖开源99元也能搞大事加群一起卷说不定还能接个外包赚外快呢~” 复制插件目录引入插件文件UEditor 1.4.3.3示例注意不要重复引入jquery如果您的项目已经引入了jq则不用再引入jq-1.4在工具栏中增加插件按钮//工具栏上的所有的功能按钮和下拉框可以在new编辑器的实例时选择自己需要的重新定义toolbars:[[fullscreen,source,|,zycapture,|,wordpaster,importwordtoimg,netpaster,wordimport,excelimport,pptimport,pdfimport,|,importword,exportword,importpdf]]初始化控件varposwindow.location.href.lastIndexOf(/);varapi[window.location.href.substr(0,pos1),asp/upload.asp].join();WordPaster.getInstance({//上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:,//设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,//提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:});//加载控件注意如果接口字段名称不是file请配置FileFieldName。ueditor接口中使用的upfile字段点击查看详细教程配置ImageMatch匹配图片地址如果服务器返回的是JSON则需要通过正则匹配ImageMatch:,点击参考链接配置ImageUrl为图片地址增加域名如果服务器返回的图片地址是相对路径可通过此属性添加自定义域名。ImageUrl:,点击查看详细教程配置SESSION如果接口有权限验证登陆验证SESSION验证请配置COOKIE。或取消权限验证。参考http://www.ncmem.com/doc/view.aspx?id8602DDBF62374D189725BF17367125F3效果编辑器界面导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。上传网络图片下载示例点击下载完整示例

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询