当前位置: 首页 > news >正文

PHP使用pandoc把markdown文件转为word

文章目录

  • 首先安装pandoc
  • PHP处理

服务器操作系统是Linux,centos

首先安装pandoc

yum install -y pandoc

安装完成后输入如下代码,检查安装是否成功

pandoc --version

在这里插入图片描述

PHP处理

我把markdown内容存到了数据库里,所以要从数据库读取内容。对内容需要做一些处理。

  • 图片的路径要转为绝对路径,不然pandoc导出的word没有图片。
  • 把处理后的内容生成md文件
  • 调用pandoc把md文件转为word
public function download(){$id=input('id/d',0);$info=Db::name('article')->find($id);//测试使用pandoc转word// 使用正则替换:捕获完整路径,将图片路径改为绝对路径$newContent = preg_replace_callback('/\((\/uploads\/\d{8}\/([a-zA-Z0-9_\-]+(?:\.[a-zA-Z0-9]+)?(?:\?.*)?))\)/',function ($matches) {// $matches[2] 是文件名(不含路径)//ROOT_PATH是根目录路径常量return '(' . ROOT_PATH.$matches[1] . ')';},$info['content']);$f='/ziptemp/'.$info['title'].'.md';$mdFile=ROOT_PATH.$f;//生成md文件file_put_contents($mdFile,$newContent);$wf='/ziptemp/'.$info['title'].'.docx';$outputFile=ROOT_PATH.$wf;//转成的word路径exec("pandoc {$mdFile} -o {$outputFile}");}```

相关文章:

  • C语言超详细结构体知识
  • C++学习:六个月从基础到就业——内存管理:new/delete操作符
  • 如何在 Electron 应用中安全地进行主进程与渲染器进程通信
  • 探索 HumanoidBench:类人机器人学习的新平台
  • 浅谈验证(Verification)和确认(Validation)
  • 【2】CICD持续集成-k8s集群中安装Jenkins
  • 小红书爬虫,小红书api,小红书数据挖掘
  • 在windows上交叉编译opencv供RK3588使用
  • 超导体的应用价值:超导磁探测技术开启科技与生活的新变革
  • 树莓派5+Vosk+python实现语音识别
  • 基于spring boot 集成 deepseek 流式输出 的vue3使用指南
  • 「数据可视化 D3系列」入门第十章:饼图绘制详解与实现
  • 03、GPIO外设(三):标准库代码示例
  • Spring Boot 核心注解全解:@SpringBootApplication背后的三剑客
  • JAVA Web_定义Servlet_处理POST请求【练习】
  • 部署路线Ubuntu_MySQL_Django_绑定域名
  • 如何构建跨平台可复用的业务逻辑层(Web、App、小程序)
  • edge browser for linux debian
  • 基于Django实现农业生产可视化系统
  • MyBatis如何配置数据库连接并实现交互?
  • “五一”看什么?这里有一份申城视听指南
  • 长三角铁路今日预计发送旅客420万人次,有望创单日客发量新高
  • 解放日报:浦东夯实“热带雨林”式科创生态
  • 山西太原一处居民小区发生爆炸,现场产生大量浓烟
  • 复星医药换帅:陈玉卿接棒吴以芳任董事长,吴以芳改任复星国际执行总裁
  • 太好玩了!坐进大卫·霍克尼的敞篷车穿越他画笔下的四季