JOD转换器未正确设置

时间:2017-08-07 10:49:54

标签: java libreoffice jodconverter

我正在尝试使用JODConverter将docx文件转换为pdf。我正在使用LibreOffice 5.3.4。我尝试运行此代码,但我收到错误看到这一点。

import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeManager;

import java.io.File;

public class PDF    {

    public static void main(String[] args) {
    OfficeManager manager = new DefaultOfficeManagerConfiguration().buildOfficeManager();
    manager.start();
    OfficeDocumentConverter converter = new OfficeDocumentConverter(manager);
    converter.convert(new File("E:/Project Synopsis.docx"), new File("E:/Project Synopsis.pdf"));
    }
}

Exception in thread "main" java.lang.IllegalStateException: officeHome not set and could not be auto-detected
at org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration.buildOfficeManager(DefaultOfficeManagerConfiguration.java:163)
at com.company.PDF.main(PDF.java:12)

1 个答案:

答案 0 :(得分:1)

JODConverter只会检测默认办公室安装(在Windows上:c://程序文件...)。尝试将自己设置为LibreOffice的主目录。

您可以使用DefaultOfficeManagerConfiguration#setOfficeHome执行此操作:

DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();
config.setOfficeHome(new File("Path to Office"));
OfficeManager manager = config.buildOfficeManager();
try {
    manager.start();
    OfficeDocumentConverter converter = new OfficeDocumentConverter(manager);
    converter.convert(new File("E:/Project Synopsis.docx"), new File("E:/Project Synopsis.pdf"));
} finally {
    manager.stop();
}