整合营销网站建设盐山县网站建设

张小明 2026/1/8 21:13:09
整合营销网站建设,盐山县网站建设,wordpress 30分钟过期,沈阳网站建设推广Word一键转存CMS升级方案 项目背景分析 作为一名北京软件工程专业大三学生#xff0c;我正在开发一个CMS新闻管理系统#xff0c;目前需要实现Word内容一键转存功能。 技术方案选型 前端方案 - wangEditor 5插件 // Word粘贴处理插件代码 import { Boot } from wangedit…Word一键转存CMS升级方案项目背景分析作为一名北京软件工程专业大三学生我正在开发一个CMS新闻管理系统目前需要实现Word内容一键转存功能。技术方案选型前端方案 - wangEditor 5插件// Word粘贴处理插件代码import{Boot}fromwangeditor/editorimport{DomEditor}fromwangeditor/editorfunctionwithWordPaste(editor){const{insertData}editorconstnewEditoreditor newEditor.insertData(data){consthtmldata.getData(text/html)if(html){// 处理Word粘贴内容handleWordPaste(html).then(processedHtml{constfragmentDomEditor.genFragmentFromHtml(newEditor,processedHtml)newEditor.deleteFragment()newEditor.insertFragment(fragment)})return}insertData(data)}returnnewEditor}consthandleWordPasteasync(html){// 1. 提取图片并上传到OSSconstimagesextractImagesFromHtml(html)constuploadPromisesimages.map(imguploadToOSS(img))constuploadedUrlsawaitPromise.all(uploadPromises)// 2. 替换图片URLletprocessedHtmlreplaceImageUrls(html,uploadedUrls)// 3. 处理公式转换processedHtmlconvertLatexToMathML(processedHtml)returnprocessedHtml}// 注册插件Boot.registerPlugin(withWordPaste)后端PHP处理代码uploadFile(getenv(OSS_BUCKET),images/.uniqid()...pathinfo($file[name],PATHINFO_EXTENSION),$file[tmp_name]);echojson_encode([url$result[info][url]]);}catch(OssException$e){http_response_code(500);echojson_encode([error$e-getMessage()]);}}// Word内容处理接口functionprocessWordContent(){$content$_POST[content];// 1. 处理图片$contentpreg_replace_callback(/]src([^])[^]*/,function($matches){$imageUrl$matches[1];if(strpos($imageUrl,data:image)0){$uploadedUrluploadBase64Image($imageUrl);returnstr_replace($matches[1],$uploadedUrl,$matches[0]);}return$matches[0];},$content);// 2. 处理公式$contentconvertLatexToMathML($content);echo$content;}?预算99元能买什么学生党预算99元这个问题让我想起了食堂9.9元的特价套餐 - 能吃饱但别指望有大鱼大肉。在这个价格区间我推荐以下方案Mammoth.js(免费)专业Word转HTML工具保留表格、列表等基本样式但不支持公式转换付费插件组合(99元极限操作)用60元购买wangEditor的商业授权剩下39元买杯奶茶贿赂学长帮你写公式转换代码公式显示解决方案多终端公式显示方案// Latex转MathML转换函数functionconvertLatexToMathML(latex){// 使用MathJax或KaTeX进行转换if(typeofkatex!undefined){returnkatex.renderToString(latex,{displayMode:true,output:mathml});}// 后备方案使用服务器端转换returnfetch(/api/convert-latex,{method:POST,body:JSON.stringify({latex}),headers:{Content-Type:application/json}}).then(resres.text());}文件导入全攻略“听说你想一键导入Word/Excel/PPT/PDF这感觉就像想把整个食堂菜单一次性塞进饭卡里…”// 文件导入处理functionhandleFileImport($file){$extpathinfo($file[name],PATHINFO_EXTENSION);switch(strtolower($ext)){casedocx:returnconvertWordToHtml($file);casexlsx:returnconvertExcelToHtml($file);casepptx:returnconvertPptToHtml($file);casepdf:returnconvertPdfToHtml($file);default:thrownewException(不支持的格式);}}functionconvertWordToHtml($file){// 使用PHPWord或Mammoth.js转换// 记得处理图片上传}学生党生存建议找工作技巧把CMS项目包装成亿级流量内容管理系统将Word导入功能吹成智能文档解析引擎记住面试官不懂高科技开源替代方案试试OnlyOffice社区版(免费)或者用LibreOffice 自己写的转换脚本终极白嫖技巧GitHub学生包申请各种免费资源用阿里云学生机做服务器(9.9元/月)记住学生身份是我们最大的资本项目外包群真相听说你想建外包群让我猜猜最后会变成50%的群成员在发’早安码农们’30%的在发’求大神帮忙’19%的在潜水剩下1%的你真的在接单最后的建议技术路线先用Mammoth.js实现基础功能公式转换用MathJax客户端渲染等找到工作再用工资买商业组件职业发展把这个项目做成你的毕业设计加入简历重点项目面试时大谈文档处理的技术挑战记住作为学生开发者我们的优势不是预算而是可以理直气壮地说这个功能我通宵就能搞定(然后真的通宵)。祝你项目顺利找到好工作复制插件文件安装jquerynpm install jquery导入组件importEfromwangeditorconst{$,BtnMenu,DropListMenu,PanelMenu,DropList,Panel,Tooltip}Eimport{WordPaster}from../../static/WordPaster/js/wimport{zyCapture}from../../static/zyCapture/zimport{zyOffice}from../../static/zyOffice/js/o初始化组件//zyCapture ButtonclasszyCaptureBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){window.zyCapture.setEditor(this.editor).Capture();}tryChangeActive(){this.active()}}//zyOffice ButtonclassimportWordBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){window.zyOffice.SetEditor(this.editor).api.openDoc();}tryChangeActive(){this.active()}}//zyOffice ButtonclassexportWordBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){window.zyOffice.SetEditor(this.editor).api.exportWord();}tryChangeActive(){this.active()}}//zyOffice ButtonclassimportPdfBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){window.zyOffice.SetEditor(this.editor).api.openPdf();}tryChangeActive(){this.active()}}//WordPaster ButtonclassWordPasterBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor).Paste();}tryChangeActive(){this.active()}}//wordImport ButtonclassWordImportBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor).importWord();}tryChangeActive(){this.active()}}//excelImport ButtonclassExcelImportBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor).importExcel();}tryChangeActive(){this.active()}}//ppt paster ButtonclassPPTImportBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor).importPPT();}tryChangeActive(){this.active()}}//pdf paster ButtonclassPDFImportBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor);WordPaster.getInstance().ImportPDF();}tryChangeActive(){this.active()}}//importWordToImg ButtonclassImportWordToImgBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor).importWordToImg();}tryChangeActive(){this.active()}}//network paster ButtonclassNetImportBtnextendsBtnMenu{constructor(editor){const$elemE.$(div classw-e-menu>)super($elem,editor)}clickHandler(){WordPaster.getInstance().SetEditor(this.editor);WordPaster.getInstance().UploadNetImg();}tryChangeActive(){this.active()}}exportdefault{name:HelloWorld,data(){return{msg:Welcome to Your Vue.js App}},mounted(){vareditornewE(#editor);WordPaster.getInstance({//上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:http://localhost:8891/upload.aspx,License2:,//为图片地址增加域名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:});zyCapture.getInstance({config:{PostUrl:http://localhost:8891/upload.aspx,License2:,FileFieldName:file,Fields:{uname:test},ImageUrl:http://localhost:8891{url}}})// zyoffice// 使用前请在服务端部署zyoffice// http://www.ncmem.com/doc/view.aspx?id82170058de824b5c86e2e666e5be319czyOffice.getInstance({word:http://localhost:13710/zyoffice/word/convert,wordExport:http://localhost:13710/zyoffice/word/export,pdf:http://localhost:13710/zyoffice/pdf/upload})// 注册菜单E.registerMenu(zyCaptureBtn,zyCaptureBtn)E.registerMenu(WordPasterBtn,WordPasterBtn)E.registerMenu(ImportWordToImgBtn,ImportWordToImgBtn)E.registerMenu(NetImportBtn,NetImportBtn)E.registerMenu(WordImportBtn,WordImportBtn)E.registerMenu(ExcelImportBtn,ExcelImportBtn)E.registerMenu(PPTImportBtn,PPTImportBtn)E.registerMenu(PDFImportBtn,PDFImportBtn)E.registerMenu(importWordBtn,importWordBtn)E.registerMenu(exportWordBtn,exportWordBtn)E.registerMenu(importPdfBtn,importPdfBtn)//挂载粘贴事件editor.txt.eventHooks.pasteEvents.length0;editor.txt.eventHooks.pasteEvents.push(function(){WordPaster.getInstance().SetEditor(editor).Paste();e.preventDefault();});editor.create();varedt2newE(#editor2);//挂载粘贴事件edt2.txt.eventHooks.pasteEvents.length0;edt2.txt.eventHooks.pasteEvents.push(function(){WordPaster.getInstance().SetEditor(edt2).Paste();e.preventDefault();return;});edt2.create();}}h1,h2{font-weight:normal;}ul{list-style-type:none;padding:0;}li{display:inline-block;margin:010px;}a{color:#42b983;}测试前请配置图片上传接口并测试成功接口测试接口返回JSON格式参考为编辑器添加按钮components:{Editor,Toolbar},data(){return{editor:null,html:dd,toolbarConfig:{insertKeys:{index:0,keys:[zycapture,wordpaster,pptimport,pdfimport,netimg,importword,exportword,importpdf]}},editorConfig:{placeholder:},mode:default// or simple}},整合效果导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。上传网络图片一键自动上传网络图片自动下载远程服务器图片自动上传远程服务器图片下载示例点击下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

可以做英文教师的网站新手做自媒体从哪开始

诗歌朗诵艺术:抑扬顿挫韵律节奏的自由模式生成 在短视频刷屏、虚拟主播带货成常态的今天,我们对“声音”的要求早已不再满足于“把字念出来”。一段打动人心的诗歌朗诵,需要停顿的呼吸感、重音的情感张力、节奏的自然起伏——这些曾被认为是人…

张小明 2026/1/8 16:19:24 网站建设

济宁市建设工程质量监督站网站广东网站建设加工

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 目录Node.js:我的代码为什么总在深夜崩溃? Node.js到底是个啥? 安装Node.js的血泪史 常见错误…

张小明 2026/1/8 18:30:37 网站建设

有网站源码怎么搭建网站房地产开发公司怎么注册

深度学习初学者指南:用PyTorch-CUDA-v2.7快速入门AI开发 在深度学习的世界里,最让人望而却步的往往不是复杂的模型结构或晦涩的数学公式,而是那个看似简单却频频出错的环节——环境配置。你有没有经历过这样的场景?满怀热情地打开…

张小明 2026/1/7 4:55:12 网站建设

建设小说网站用什么软件下载c 做网站流程

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以关注一下,希望帮助更多的人顺利毕业~ 基于SpringMySQL的奖学金管理系统 的设计与实现 摘 要 随着信息技术的快速发展,奖学金管理的需求日益增长。传…

张小明 2026/1/7 4:54:40 网站建设

网站做微信支付对接微信邀请函制作软件

从零开始用Verilog设计一位全加器:不只是“Hello World”那么简单在数字电路的世界里,如果说点亮一个LED是硬件工程师的“Hello World”,那么实现一个一位全加器(Full Adder),就是你真正踏入组合逻辑大门的…

张小明 2026/1/7 4:54:07 网站建设

达建网站的需要高校门户网站开发

Wan2.1首尾帧视频生成实战教程:从入门到精通 【免费下载链接】Wan2.1-FLF2V-14B-720P-diffusers 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers 你是否曾经遇到过这样的困境:想要制作一个简单的动画视频…

张小明 2026/1/7 4:53:35 网站建设