org.artofsolving.jodconverter api 未在 wicket 8 应用程序中将 Excel 文件转换为 PDF 文件
org.artofsolving.jodconverter api not converting Excel file into PDF file in wicket 8 application
我正在尝试使用以下这些 API 在 wicket 8 应用程序中将 excel 文件转换为 PDF 文件。但是 PDF 文件没有转换成 excel 文件,我在 PDF 下载 link 上得到相同的 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 并且可以 运行 下面的命令 运行 OpenOffice 作为服务 windows OS.
转到 CMD 并导航到 OpenOffice 程序目录路径:
示例:“C:\OpenOffice.org 3\program”和以下 CMD 中的命令 运行 OpenOffice 作为服务 运行 Jodconverter 代码进行文件转换。
start soffice -headless -accept=socket,host=0,port=8100;urp;
这有助于 运行 OpenOffice 作为 Windows OS 本地系统中的服务器,并且可以更深入地调试此代码以解决任何问题或进行任何更改.
我希望它可以帮助那些想要在本地系统中为您的 OpenOffice 应用程序执行此代码的人。
我正在尝试使用以下这些 API 在 wicket 8 应用程序中将 excel 文件转换为 PDF 文件。但是 PDF 文件没有转换成 excel 文件,我在 PDF 下载 link 上得到相同的 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 并且可以 运行 下面的命令 运行 OpenOffice 作为服务 windows OS.
转到 CMD 并导航到 OpenOffice 程序目录路径: 示例:“C:\OpenOffice.org 3\program”和以下 CMD 中的命令 运行 OpenOffice 作为服务 运行 Jodconverter 代码进行文件转换。
start soffice -headless -accept=socket,host=0,port=8100;urp;
这有助于 运行 OpenOffice 作为 Windows OS 本地系统中的服务器,并且可以更深入地调试此代码以解决任何问题或进行任何更改.
我希望它可以帮助那些想要在本地系统中为您的 OpenOffice 应用程序执行此代码的人。