Windows 系统使用 LibreOffice 办公套件,PHP实现Word转PDF,PDF转图片的操作

1. 下载 LibreOffice 办公套件,安装

下载地址:https://zh-cn.libreoffice.org/download/libreoffice/
在这里插入图片描述

2. 配置环境变量

软件安装目录 /program,加入到环境变量中,配置后,在 cmd 命令行执行:

soffice --version

看到版本号,说明安装成功
在这里插入图片描述

3. php.ini 配置,修改后重启 nginx 或其他 web 服务器

  • 关闭安全模式:safe_mede = Off
  • 启用函数 exec:disable_functions 中去掉 exec 函数

4. CMD 命令行执行转换命令

  • 转换 PDF 的命令格式
soffice --headless --convert-to pdf:writer_pdf_Export {文档路径} --outdir {导出目录路径}
  • 执行命令示例
soffice --headless --invisible --convert-to pdf:writer_pdf_Export "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/172103002785404.docx" --outdir "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/"
  1. 第一个双引号字符串:Word 的完整地址
  2. 第二个双引号字符串:转换后 PDF 的路径
  3. 注:转换后的 PDF 文件名和转换前的 Word 文件名一致

5. 使用 PHP 代码执行转换命令

5.1 Word 转 PDF

//构建转换命令
$sCmd = 'soffice --headless --invisible --convert-to pdf:writer_pdf_Export "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/172103002785404.docx" --outdir "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/"'; 
//exec执行命令,
exec($sCmd, $out, $return);
//成功后return = 0
echo $return;

5.2 PDF 转图片

//构建转换命令 
$sCmd = 'soffice --headless --invisible  --convert-to  jpg "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/172103002785404.pdf" --outdir  "E:\phpstudy_pro\WWW\ranqi_renzheng\Uploads\output\20240715/"';
//exec执行命令
exec($sCmd,$out, $return);
//成功后return 返回0
echo $return;

6. 如果遇到 cmd 命令行可以执行成功,PHP 代码执行失败,请继续往下看

6.1 cmd 命令行,添加当前 windows 系统账户权限
在这里插入图片描述
6.2 LibreOffice/program 目录下的进程文件加上权限

  • soffice.bin 和 soffice.com、soffice.exe,和 6.1 cmd 同样的配方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值