>我会首先尝试给绝对路径命令。
>我怀疑libreoffice二进制不工作 – 你必须找到soffice二进制,看看是否工作。
>然后,你的–convert-到pdf是不够的。它需要:
--convert-to pdf:writer_pdf_Export
一定要遵循这个大小写!
>接下来,如果您的系统上已经启动并运行了一个LibreOffice GUI实例,该命令将不会工作。它是由bug known since 2011引起的。将此附加参数添加到命令中:
"-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}"
这将创建一个新的,单独的环境,其可以由第二个无头LO实例使用,而不干扰由相同用户启动的可能运行的第一GUI LO实例。
>另外,请确保您指定的–outdir / pdf确实存在,并且您具有写入权限。或者,使用不同的输出dir。即使它只是第一次测试和这个调试回合:
$ mkdir ${HOME}/lo_pdfs
>因此:
/path/to/soffice \
--headless \
"-env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER}" \
--convert-to pdf:writer_pdf_Export \
--outdir ${HOME}/lo_pdfs \
/path/to/test.docx
这对我来说在Mac OS X Mavericks 10.9.5与LibreOffice v4.4.3.2(使用我的特定路径的二进制soffice,这将是不同的你反正…)。
如果所有这些都不起作用:
>这可能是一个问题,具体的DOCX文件您尝试命令与…所以创建一个非常简单的DOCX文档您自己的第一。使用LibreOffice本身。写“Hello World!”在其他空页面上。将其另存为DOCX。
>再试一次。它与简单的DOCX工作吗?
>如果它再次不工作,重复步骤7,但此时保存为ODT。
>重复步骤8,但请确保此时引用ODT。
> Last:使用soffice的完整路径,soffice.bin和libreoffice,并使用-h参数运行每个:
$ /path/to/libreoffice -h
$ /path/to/soffice -h
$ /path/to/soffice.bin -h
>你甚至得到一个输出吗?
>对于三个二进制文件/符号链接中的哪一个?
>记录输出。
>告诉我们你的输出!
将它们与您使用的命令行进行比较:
Are there any changes in parameter names, capitalizations, number of dashes used, etc.??
为了比较,我自己的输出在这里:
$ /Applications/LibreOffice.app/Contents/MacOS/soffice