news 2026/4/23 1:03:56

芯片制造企业如何利用百度WEB编辑器处理PDF技术文档?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
芯片制造企业如何利用百度WEB编辑器处理PDF技术文档?

河南软件工程大三狗的CMS升级记:从Word粘贴到Latex公式,99元预算的极限操作!

一、项目背景:穷学生的倔强

作为一枚即将毕业的大三狗,自己撸了个CMS新闻管理系统,但后台编辑器太挫——从Word复制内容粘贴进去,图片全变×,表格乱成狗,Latex公式直接GG。于是立下Flag:99元预算内实现Word/Excel/PPT/PDF一键导入,图片自动上云,公式全终端高清显示!顺便在技术群发个红包拉人(群号:223813913,新人进群领199元,说不定还能白嫖个外包项目呢)。


二、技术选型:白嫖党的狂欢

1. 编辑器插件
  • UEditor官方插件:免费但功能弱,不支持复杂样式和公式转换。
  • 开源神器:mammoth.js+mathlive
    • mammoth.js:解析Word文档,提取样式和图片(免费!)。
    • mathlive:将Latex公式转为MathML,多终端高清显示(还是免费!)。
  • 图片转存:阿里云OSS SDK(PHP版免费,流量费另算,但本地测试先薅羊毛)。
2. 开发环境
  • 前端:Vue2 CLI(兼容Vue3?未来再说,先毕业要紧)。
  • 后端:PHP(Zend Studio写代码,本地WAMP跑服务)。
  • 数据库:MySQL(存储图片OSS路径和文章内容)。
  • 服务器:自己的电脑(IP:192.168.1.100,欢迎来DDoS测试)。

三、开发过程:从0到1的骚操作

1. 前端:给UEditor加按钮
// main.js (Vue2入口文件)importUEfrom'ueditor';import'mathlive/dist/mathlive.css';// 公式样式exportdefault{mounted(){// 动态加载UEditor和插件constscript=document.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.editor=window.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(){constinput=document.createElement('input');input.type='file';input.accept='.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf';input.onchange=async(e)=>{constfile=e.target.files[0];constformData=newFormData();formData.append('file',file);constres=awaitthis.$http.post('/api/doc/import',formData);this.editor.setContent(res.data.html);};input.click();}}};
2. 后端:PHP处理文档和图片
// api/word/paste.php (处理Word粘贴)value();// 提取图片并上传到OSS$dom=newDOMDocument();$dom->loadHTML($html);$images=$dom->getElementsByTagName('img');foreach($imagesas$img){$base64=$img->getAttribute('src');if(strpos($base64,'data:image')===0){$data=substr($base64,strpos($base64,',')+1);$imageData=base64_decode($data);$ossPath='uploads/'.uniqid().'.png';// 调用阿里云OSS SDK上传$ossClient=newOSS\OssClient('ak','sk','endpoint');$ossClient->putObject('your-bucket',$ossPath,$imageData);$img->setAttribute('src','https://your-bucket.oss-cn-hangzhou.aliyuncs.com/'.$ossPath);}}// 处理Latex公式(简单替换,实际用mathlive更复杂)$html=preg_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 = '<math><mrow><mi>E</mi><mo>=</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup></mrow></math>'; // 实际项目中从后端获取 }; document.head.appendChild(script); } };

四、测试与部署:穷学生的智慧

  1. 本地测试

    • 用WAMP跑PHP后端,Vue前端用npm run serve
    • 测试Word粘贴:表格、字体、颜色保留90%,公式显示正常。
    • 测试图片上传:本地路径先替换为OSS测试地址(实际部署再改配置)。
  2. 部署到阿里云ECS

    • 买最便宜的ECS(1核1G,学生价9.9元/月)。
    • 安装PHP+MySQL+Nginx,配置域名和SSL(Let’s Encrypt免费证书)。
    • 修改OSS配置为生产环境Bucket。

五、成果展示:99元预算的奇迹

  • 功能实现
    • Word粘贴:图片自动上云,样式保留。
    • 文档导入:支持Word/Excel/PPT/PDF(Excel/PPT需额外解析库,预算内搞不定,先放鸽子)。
    • 公式显示:Latex转MathML,PC/手机/平板高清显示。
  • 成本
    • 阿里云ECS:9.9元/月(学生优惠)。
    • OSS流量:免费额度够用(本地测试薅羊毛)。
    • 开发工具:Zend Studio(学校实验室有正版,白嫖成功)。
  • 剩余预算:99 - 0 = 99元(买奶茶庆祝!)。

六、后续计划与求内推

  1. 优化方向
    • 支持Excel/PPT导入(可能需要买PhpSpreadsheet库,超预算了,哭)。
    • 移动端适配(Vue3+UniApp重写,等毕业有钱了再说)。
  2. 求内推
    • 群号: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"]]

初始化控件

varpos=window.location.href.lastIndexOf("/");varapi=[window.location.href.substr(0,pos+1),"asp/upload.asp"].join("");WordPaster.getInstance({//上传接口:http://www.ncmem.com/doc/view.aspx?id=d88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名:http://www.ncmem.com/doc/view.aspx?id=704cd302ebd346b486adf39cf4553936ImageUrl:"",//设置文件字段名称:http://www.ncmem.com/doc/view.aspx?id=c3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:"file",//提取图片地址:http://www.ncmem.com/doc/view.aspx?id=07e3f323d22d4571ad213441ab8530d1ImageMatch:''});//加载控件

注意

如果接口字段名称不是file,请配置FileFieldName。ueditor接口中使用的upfile字段

点击查看详细教程

配置ImageMatch

匹配图片地址,如果服务器返回的是JSON则需要通过正则匹配

ImageMatch:'',

点击参考链接

配置ImageUrl

为图片地址增加域名,如果服务器返回的图片地址是相对路径,可通过此属性添加自定义域名。

ImageUrl:"",

点击查看详细教程

配置SESSION

如果接口有权限验证(登陆验证,SESSION验证),请配置COOKIE。或取消权限验证。
参考:http://www.ncmem.com/doc/view.aspx?id=8602DDBF62374D189725BF17367125F3

效果

编辑器界面

导入Word文档,支持doc,docx

导入Excel文档,支持xls,xlsx

粘贴Word

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

Word转图片

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

导入PDF

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

导入PPT

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

上传网络图片

下载示例

点击下载完整示例

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 1:03:56

vue.js中如何集成WebUploader实现大文件分片上传源码?

北京码农の10G文件上传奇遇&#xff1a;在胡同里写信创代码 各位好&#xff0c;我是老张&#xff0c;北京中关村某软件公司“脱发攻坚队”队长。最近接了个政府项目&#xff0c;要求上传10G文件&#xff0c;还必须兼容信创环境并提供全套文档——这活儿就像在故宫里装Wi-Fi&am…

作者头像 李华
网站建设 2026/4/22 15:23:37

一个例子带你看懂,火爆全网的 Skills 到底是啥。

上一篇文章有讲到&#xff0c;TRAE 添加了对 Skills 的支持最近爆火的 Skills&#xff0c;TRAE SOLO 也支持了&#xff01; 现在&#xff0c;Google Antigravity 的最新版本&#xff0c;也支持 Skills 了。 01 举个栗子 下面&#xff0c;用一个栗子来分享下在 Antigravity 中…

作者头像 李华
网站建设 2026/4/17 12:29:34

vue2环境下如何编写大文件分片上传的完整源码?

大文件上传解决方案 各位同行大佬们好&#xff0c;作为一个在广东摸爬滚打多年的前端"老油条"&#xff0c;最近接了个让我差点秃顶的项目——20G大文件上传系统&#xff0c;还要兼容IE9&#xff01;这感觉就像让我用竹篮子去打水还要不漏一样刺激… 需求分析&#…

作者头像 李华
网站建设 2026/4/18 10:55:46

GNSS十年演进

下面这份内容&#xff0c;不是 GNSS 星座参数对比&#xff0c;也不是“RTK / PPP 技术路线图”&#xff0c;而是站在 “GNSS 作为智能驾驶、机器人与社会基础设施的时空基准”高度&#xff0c;对未来十年的一次结构性演进判断。&#x1f6f0;️&#x1f4cd; GNSS 十年演进&…

作者头像 李华
网站建设 2026/4/18 13:51:11

2025研究生必备10个降aigc工具推荐

2025研究生必备10个降aigc工具推荐 AI降重工具&#xff1a;研究生论文写作的得力助手 在当前学术研究日益重视原创性的背景下&#xff0c;研究生们面对的不仅是论文内容的深度与广度&#xff0c;还有越来越严格的查重标准。尤其是随着AIGC&#xff08;人工智能生成内容&#xf…

作者头像 李华
网站建设 2026/4/22 23:08:53

2026必备!9个一键生成论文工具,专科生毕业论文轻松搞定!

2026必备&#xff01;9个一键生成论文工具&#xff0c;专科生毕业论文轻松搞定&#xff01; 论文写作的“神器”正在改变你的学习方式 随着人工智能技术的不断进步&#xff0c;AI 工具已经深入到我们生活的方方面面&#xff0c;而学术写作也迎来了前所未有的变革。对于专科生来…

作者头像 李华