我正在尝试使用pdfgear将.docx文件转换为.pdf,如https://github.com/phpgearbox/pdf中所述。该组件默认为libre-office-headless。我在我的计算机上安装了LibreOffice5
C:\ Program Files(x86)\ LibreOffice 5
其二进制文件位于
C:\ Program Files(x86)\ LibreOffice 5 \ program。
然后在我的Controller方法中我有:
$pdf = Gears\Pdf::convert($temp_filename);
shell_exec('libreoffice --headless --convert-to pdf $temp_filename');
第一个语句导致错误:
遇到未捕获的异常
输入:RuntimeException
消息:libreoffice命令(" / usr / bin / libreoffice")不是 发现或当前用户无法执行!
虽然下一行没有结果(没有错误,也没有pdf文档)!
如何安装libre-office-headless以确保第一行代码成功运行?我希望你理解我的问题。谢谢。
答案 0 :(得分:1)
查看pdfgear源代码,您可能需要修改许多硬编码的位置。它们似乎是用LibreOffice的普通Linux发行版安装编写的。
与您的问题相关的一个案例是https://github.com/phpgearbox/pdf/blob/master/src/Pdf/Docx/Converter/LibreOffice.php#L73