警告:未能从javaldx读取路径。

问题描述 投票:4回答:1

在ubuntu上使用Libreoffice转换文件时发生错误。

CompletedProcess(args=['soffice', '--headless', '--convert-to', 'txt:Text', 'varwwwProjecttempe4bac2c2e7c04eb79cfa522967a30dd3. docx', '--outdir', 'varwwwProjecttemp'], returncode=77, stdout=b'', stderr=b'javaldx failed!\nWarning: failed to read path from javaldx\n')

使用子进程。

process = subprocess.run(['soffice', '--headless', '--convert-to', 'txt:Text', path_docx, '--outdir', settings.TEMP_ROOT], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout)

~# java --version

openjdk 11.0.6 2020-01-14OpenJDK运行时环境(构建11.0.6+10-post-Ubuntu-1ubuntu118.04.1)OpenJDK 64位服务器虚拟机(构建11.0.6+10-post-Ubuntu-1ubuntu118.04.1,混合模式,共享)

python linux ubuntu libreoffice
1个回答
0
投票

好了,找到解决办法了。如果你使用libreoffice在无头,与非根用户,试图转换docx到一个PDF,得到这个错误。

javaldx failed!
Warning: failed to read path from javaldx

你的用户没有设置主文件夹,或者主文件夹不可写。我就从直接调用libreoffice改成通过这样的shell脚本调用。

export HOME=/opt/fhir-services && /usr/lib/libreoffice/program/./soffice --headless --invisible --convert-to pdf --outdir /opt/fhir-services /opt/fhir-services/tmp.docx

tomcat8是这个文件夹的主人,现在转换成功了。

© www.soinside.com 2019 - 2024. All rights reserved.