利用OpenOffice将任意格式文件转为PDF
下载OpenOffice
下载地址: http://www.openoffice.org/download/index.html.
获取到officemanager,利用officemanager开启OpenOffice的API服务
private OfficeManager getOfficeManager() throws OfficeException {
DefaultOfficeManagerBuilder builder = new DefaultOfficeManagerBuilder();
//此处填写OpenOffice安装路径
builder.setOfficeHome(OPENOFFICE_PATH);
OfficeManager officeManager = builder.build();
//officeManager提供了开启OpenOffice的API服务
officeManager.start();
return officeManager;
}
获取输入文件和输出文件,利用OfficeDocumentConverter 的convert方法进行转换
public Boolean openOfficeExperience(String path, String fileName, String suffix, String previewFileSuffix) {
//输入文件对象
File inputTempFile = new File(path + fileName + suffix);
//输出文件对象
File outputTempFile = new File(path + fileName + previewFileSuffix);
OfficeManager manage = null;
try {
//开启OpenOffice服务
manage = getOfficeManager();
//设置转换后的文件存储路径,文件名
//使用OfficeDocumentConverter类转换文件,其实核心就这一句
OfficeDocumentConverter converter = new OfficeDocumentConverter(manage);
converter.convert(inputTempFile, outputTempFile);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
//关闭资源占用
if (null != manage) {
try {
manage.stop();
} catch (OfficeException e) {
e.printStackTrace();
}
}
}
}