通过 Symphony Process Component 使用 unoconv 将文档转换为 pdf

哈米德·古拉什

我正在尝试使用 PHP 中的 unoconv 将 Word 文档转换为 PDF。当我在 CLI 中运行以下命令时,它可以正常工作,没有任何错误:

export HOME=/tmp/converts && unoconv -f pdf -o ~/da063764384fb612971bfc92c52c40fc.pdf ~/da063764384fb612971bfc92c52c40fc.docx

但问题是当我尝试在 PHP 中运行它时,如下所示:

$env  = ['PATH' => '/sbin:/bin:/usr/sbin:/usr/bin'];
$bash = "export HOME=${tmpDir} && /usr/bin/unoconv -f pdf -o ~/${fileName}.pdf $srcFile";$process = new Process($bash);
$process->setTimeout(120);
$process->run(null, $env);

$output = "\nOutput: " . $process->getOutput();
$error  = "\nError: " . $process->getErrorOutput();

结果如下:

Output:
Error: unoconv: RuntimeException during import phase: Office probably died. Binary URP bridge disposed during call

任何人都知道我该如何解决这个问题!?

哈米德·古拉什

unoconv 产生一个子 libreOffice 进程,然后通过端口 2002 连接到该进程。奇怪的是,端口从未改变。因此,如果您有一个实例运行所有其他实例失败,则 unoconv 无法并行运行。那是我服务器上发生的事情。

我在 CLI 上运行 bellow 命令来查找所有 libreOffice 进程:

ps aux | grep libre

然后通过运行杀死这些进程:

ps aux | grep -i libre | awk {'print $2'} | xargs kill -9

一般来说,对于这种情况,使用支持多线程的其他工具是更好的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xsl-fo将xml文档转换为PDF

来自分类Dev

使用PdfSharp将Tif文档转换为PDF

来自分类Dev

使用php将pdf转换为word文档

来自分类Dev

使用unoconv转换制表符分隔的csv

来自分类Dev

使用Python将Word文档转换为PDF,按转换前最后修改的日期排序?

来自分类Dev

使用 pandoc 通过 LaTeX 转换为 PDF 的表格间距问题

来自分类Dev

如何使用C#将Word文档(基于XML)转换为PDF?

来自分类Dev

使用JAVA将RTF转换为PDF,可读取rtf文档中的表

来自分类Dev

如何使用C#将Word文档(基于XML)转换为PDF?

来自分类Dev

使用 Javascript,如何将 Google 文档转换为 PDF 文件,然后将其“切片”为多个 PDF?

来自分类Dev

将Word文档批量转换为PDF

来自分类Dev

在Google Drive API的v3版本中通过drive.files.copy转换通过nodejs使用API将Word文档转换为Google文档

来自分类Dev

使用httr将HTML转换为PDF

来自分类Dev

使用JsPDF将Canvas转换为Pdf

来自分类Dev

使用ghostscript将png转换为pdf

来自分类Dev

使用python将rtf转换为pdf

来自分类Dev

使用itextsharp将HTML转换为PDF

来自分类Dev

使用PDFSharp将TEXT转换为PDF

来自分类Dev

使用dompdf将php转换为pdf

来自分类Dev

使用Python将PDF转换为图像

来自分类Dev

使用pandoc将.docx转换为.pdf

来自分类Dev

使用Ghostscript将PDF转换为黑白

来自分类Dev

使用Perl将pdf转换为文本

来自分类Dev

使用dompdf将php转换为pdf

来自分类Dev

使用PHP将Excel转换为pdf

来自分类Dev

使用图像将.md转换为.pdf

来自分类Dev

使用 Django 将 HTML 转换为 PDF

来自分类Dev

使用 ConvertAPI 将字节转换为 PDF

来自分类Dev

使用 PdfBox 将 Pdf 转换为图像