Java 将Excel转换为PDF文档问题4J
我想使用将Excel文件转换为PDF,但存在两个问题:Java 将Excel转换为PDF文档问题4J,java,excel,pdf,documents4j,Java,Excel,Pdf,Documents4j,我想使用将Excel文件转换为PDF,但存在两个问题: 转换时,我必须打开一个Excel文件。当我将Word转换为PDF时,我不需要打开doc/docx文件 PDF不包含Excel中包含的图表图像 我如何解决这个问题?以下是重现问题的代码: private void convertExcelToPDF1() throws Exception { InputStream excelFileIS = new BufferedInputStream(new FileInputStream("
private void convertExcelToPDF1() throws Exception {
InputStream excelFileIS = new BufferedInputStream(new FileInputStream("C:\\test_convert\\test.xlsx"));
File target = new File("C:\\test_convert\\sim_status_excel.pdf");
IConverter converter = RemoteConverter.builder()
.baseFolder(new File("D:\\temp"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.requestTimeout(10, TimeUnit.SECONDS)
.baseUri("http://localhost:9998")
.build();
Future<Boolean> conversion = converter.convert(excelFileIS).as(DocumentType.XLSX)
.to(target).as(DocumentType.PDF)
.prioritizeWith(1000)
.schedule();
}
private void convertExcelToPDF1()引发异常{
InputStream excelFileIS=新的BufferedInputStream(新文件InputStream(“C:\\test\u convert\\test.xlsx”);
文件目标=新文件(“C:\\test\u convert\\sim\u status\u excel.pdf”);
IConverter converter=RemoteConverter.builder()
.baseFolder(新文件(“D:\\temp”))
.workerPool(20,25,2,时间单位为秒)
.requestTimeout(10,时间单位为秒)
.baseUri(“http://localhost:9998")
.build();
未来转换=converter.convert(excelFileIS).as(DocumentType.XLSX)
.to(target).as(DocumentType.PDF)
.优先考虑(1000)
.附表();
}
MS Excel不一定用于编程转换。因此,可能会出现奇怪的问题。首先:您是否尝试直接使用MS Excel将文件转换为PDF格式?如果问题也发生在那里,documents4j将无能为力
除此之外,可能还有一些报表选项集是成功导出所必需的。您可以查看documents4j为触发Excel转换而运行的VBS脚本:
您可以在本地保存这些文件并运行它们。首先,在Windows中从命令行运行excel\u start.vbs
。然后运行excel\u convert.vbs input.xls output.pdf 999
,这将触发给定文件的到pdf的转换。您可以通过运行excel\u stop.vbs
进行清理。完成后
您感兴趣的两个参数是:
excelApplication.Workbooks.Open(inputFile, , True, , , , , , , , , , , , 2)
及
您可以对其进行调整以运行转换。我只使用标准Excel文件进行测试,这些文件在我的单元测试中运行良好。如果您找到一个适合您的解决方案,我很乐意合并您的更改。方法(和)记录在MSDN上。MS Excel不一定用于编程转换。因此,可能会出现奇怪的问题。首先:您是否尝试直接使用MS Excel将文件转换为PDF格式?如果问题也发生在那里,documents4j将无能为力 除此之外,可能还有一些报表选项集是成功导出所必需的。您可以查看documents4j为触发Excel转换而运行的VBS脚本: 您可以在本地保存这些文件并运行它们。首先,在Windows中从命令行运行
excel\u start.vbs
。然后运行excel\u convert.vbs input.xls output.pdf 999
,这将触发给定文件的到pdf的转换。您可以通过运行excel\u stop.vbs
进行清理。完成后
您感兴趣的两个参数是:
excelApplication.Workbooks.Open(inputFile, , True, , , , , , , , , , , , 2)
及
您可以对其进行调整以运行转换。我只使用标准Excel文件进行测试,这些文件在我的单元测试中运行良好。如果您找到一个适合您的解决方案,我很乐意合并您的更改。方法(和)记录在MSDN上