PHP 将word文件转为pdf
修改php.ini
- 添加:extension=php_com_dotnet.dll
- 去除注释:com.allow_dcom = true
- 重启环境
配置office支持
- 安装微软office套件。(office 2007 需要手动安装 `Microsoft Save as PDF and XPS`)
- 配置office组件服务
- win+R打开运行菜单,输入dcomcnfg
- 找到 [组件服务] —— [计算机]—— [我的电脑] —— [DCOM配置] —— [Microsoft Wrord 97-2003文档]
- 右键 [Microsoft Wrord 97-2003文档] 设置属性 [标识] 为 [交互式用户]
代码如下:
/** * @desc xmsb_wordToPdf 将word转换为pdf * @param string $wordPath word原文件路径 * @param string $outPath pdf输出路径 * @return string */ function xmsb_wordToPdf($wordPath, $outPath) { // 原文件不存在则返回错误 if(!file_exists($wordPath)) { return 'word原文件不存在'; } // 输出目录不存在则创建目录 if(!file_exists($tmpPath = rtrim($outPath, basename($outPath)))) { mkdir($tmpPath, 0777, true); } $filenamedoc = dirname(__FILE__)."/".$wordPath; $filenamepdf = dirname(__FILE__)."/".$outPath; // 删除已有同名文件 if(file_exists($filenamepdf)) { unlink($filenamepdf); } // 执行转换操作 $word = new COM("word.Application") or die("Could not initialise Object"); $word->Documents->Open($filenamedoc); $word->ActiveDocument->ExportAsFixedFormat($filenamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false); $word->Quit(false); unset($word); // 在页面中显示生成的pdf // header('Content-type: application/pdf'); // header('filename='.$filenamepdf); // readfile($filenamepdf); return '转换成功'; } // 测试运行 echo xmsb_wordToPdf('./word/word1.docx', './pdf/output1.pdf');
测试结果:
word文件内容如下:
转换后pdf内容如下:
欢迎转载,转载时请注明来源。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异