我试图通过使用下面这些api将excel文件转换为PDF文件在wicket 8应用程序。但是PDF文件没有转换成excel文件,我在PDF下载链接上得到相同的excel文件,而不是PDF文件,convert()方法没有异常或错误。
<dependency>
<groupId>net.sf.jodconverter</groupId>
<artifactId>jodconverter</artifactId>
<version>3.0-beta-4</version>
</dependency>
或
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.1</version>
</dependency>
使用下面的代码将excel文件转换为PDF文件
public File convertToPDFFile(ByteArrayOutputStream fromExcelFile, String sheetName, OOConfig ooConfig, FileFormat fileFormat) throws Exception {
File tempFile = null;
File resultPDFFile = null;
try {
tempFile = File.createTempFile(sheetName, fileFormat.getFileExtension());
tempFile.setWritable(true);
FileOutputStream fout = new FileOutputStream(tempFile);
fromExcelFile.writeTo(fout);
ExternalOfficeManagerConfiguration eomcTest = new ExternalOfficeManagerConfiguration();
eomcTest.setConnectOnStart(true);
eomcTest.setConnectionProtocol("SOCKET");
eomcTest.setPortNumber(8100);
OfficeManager officeManager = eomcTest.buildOfficeManager();
officeManager.start();
OfficeDocumentConverter officeDocConverter = new OfficeDocumentConverter(officeManager);
resultPDFFile = File.createTempFile(sheetName, TypeOfFile.PDF.getFileExtension());
officeDocConverter.convert(tempFile, resultPDFFile);
fout.close();
officeManager.stop();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (tempFile != null) {
tempFile.delete();
tempFile = null;
}
}
return resultPDFFile;
}
请任何人告诉我为什么jodconverter不能将excel文件转换为pdf文件。
任何建议都将是非常感谢的。
在对本地系统进行更深入的调试后,上面的代码对我来说是正常的。
对于需要安装OpenOffice3或版本4的用户,可以运行以下命令在windows操作系统中运行OpenOffice作为服务。
切换到CMD并导航到OpenOffice程序目录路径:示例:C:OpenOffice.org 3program"和下面的命令在CMD中运行OpenOffice作为一个服务来运行Jodconverter代码进行文件转换。
start soffice -headless -accept=socket,host=0,port=8100;urp;
这有助于在Windows操作系统的本地系统中将OpenOffice作为服务器运行,并可以更深入地调试此代码以解决任何问题或进行任何更改。
我希望它能帮助那些想在本地系统中为你的OpenOffice应用程序执行这段代码的人。