Libreoffice PDF转换命令不适用于Amazon实例。
我有以下提到的情况。当我通过root用户执行同一命令时,它会在命令行上执行,但是当我与Apache用户执行同一命令时,它会给出错误!
以root用户执行命令。
/opt/libreoffice/program/soffice --headless --nologo --nofirststartwizard --norestore --convert-to pdf:writer_web_pdf_Export --outdir '/var/www/html/con/var/tmp' '/var/www/html/con/var/tmp/imagick-tmp-5e3a4b08d044d.xls'
使用root用户执行上述命令后的消息
/opt/libreoffice/program/soffice.bin: /lib64/libdbus-1.so.3: no version information available (required by /opt/libreoffice/program/libmergedlo.so)
convert /var/www/html/con/var/tmp/imagick-tmp-5e3a4b08d044d.xls -> /var/www/html/con/var/tmp/imagick-tmp-5e3a4b08d044d.pdf using filter : writer_web_pdf_Export
使用Apache用户执行命令。
-uapache /opt/libreoffice/program/soffice --headless --nologo --nofirststartwizard --norestore --convert-to pdf:writer_web_pdf_Export --outdir '/var/www/html/con/var/tmp' '/var/www/html/con/var/tmp/imagick-tmp-5e3a4b08d044d.xls'
与Apache用户一起执行上述命令后,将产生消息。
javaldx failed!
Warning: failed to read path from javaldx
/opt/libreoffice/program/soffice.bin: /lib64/libdbus-1.so.3: no version information available (required by /opt/libreoffice/program/libmergedlo.so)
LibreOffice 6.2 - Fatal Error: The application cannot be started.
User installation could not be completed.
我已经检查了所有与安装和许可相关的内容。一切都好。请帮助!
最后我得到了解决方案,如下所述。
Actual Command:-
export HOME=/var/www && /usr/bin/soffice --headless --nologo --nofirststartwizard --norestore --convert-to pdf:writer_web_pdf_Export --outdir '/var/www/html/pimcore_root/var/tmp' '/var/www/html/pimcore_root/web/var/assets/demo.xls'
Modified Command:-
export HOME=/var/www && /usr/bin/soffice --headless --nologo --nofirststartwizard --norestore -env:UserInstallation=file:///tmp/LibreOffice_Conversion_${USER} --convert-to pdf:writer_web_pdf_Export --outdir '/var/www/html/pimcore_root/var/tmp' '/var/www/html/pimcore_root/web/var/assets/demo.xls'
[已添加修改后的命令“ -env:UserInstallation = file:/// tmpLibreOffice_Conversion_ $ {USER}”
此后一切正常。