当前位置: 首页 > 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如何配置数据库连接并实现交互?
  • 人民论坛:是民生小事,也是融合大势
  • 台媒称美派遣前军官出任“汉光演习”资深观察员,国防部回应
  • 马上评丨电子屏不如黑板?解决问题不能靠怀旧
  • 美国国务院:鲁比奥将不参加在伦敦举行的乌克兰问题会谈
  • 威廉·透纳诞辰250周年|他是现代艺术之父
  • 神二十6个半小时到站