我正在尝试使用libre office设置jodconverter。当我尝试使用它时,出现以下错误:officeHome未设置,无法自动检测。
我在办公室里放了家,但是现在还在。以下是我的设置方法。谁能告诉我我在做什么错。
public void convert(){
File inputFile = new File("SippKey.rtf");
File outputFile = new File("SippKeyCon.html");
LocalOfficeManager.builder().officeHome("/opt/libreoffice6.0").build();
final LocalOfficeManager officeManager = LocalOfficeManager.install();
try {
// Start an office process and connect to the started instance (on port
2002).
officeManager.start();
// Convert
JodConverter
.convert(inputFile)
.to(outputFile)
.execute();
} catch (OfficeException ex) {
// ex.printStackTrace();
Logger.getLogger(QrGUI.class.getName()).log(Level.SEVERE, null,
ex);
} finally {
// Stop the office process
OfficeUtils.stopQuietly(officeManager);
}
}
最佳答案
您应该通过以下方式初始化管理器:
final LocalOfficeManager officeManager =
LocalOfficeManager.builder().officeHome("/opt/libreoffice6.0").install().build();
LocalOfficeManager.install()只会创建一个默认管理器,它将尝试自动检测Office安装。因此,您实际使用的管理员不是您使用自定义Office主目录初始化的管理员。