我使用Aspose,将Excel转换为PDF的速度非常慢。 我已经生成了XSSFWorkbook
ByteArrayOutputStream excelAsByteArrayOutStream = new ByteArrayOutputStream();
xssfWorkbook.write(out_excel);
excelAsByteArrayOutStream.close();
ByteArrayOutputStream pdfAsByteArrayOutStream = new ByteArrayOutputStream();
Workbook workbook = new Workbook(new ByteArrayInputStream(excelAsByteArrayOutStream.toByteArray()));
workbook.save(out, SaveFormat.PDF);
任何其他更快的方法来实现这一目标。
答案 0 :(得分:0)
通常,Aspose.Cells for Java可以快速有效地将较大的MS Excel工作簿转换为PDF文件格式。我猜慢度问题可能在XSSFWorkbook部分,该部分正在编写字节数组。或者问题可能出在从流中提取/加载文件的模块中。为了进行确认,您只能使用Aspose.Cells API(不涉及XSSFWorkbook)从流中加载文件,然后保存为PDF文件格式。 例如 示例代码:
Path fileLocation = Paths.get("your_file.xlsx");
byte[] bytes = Files.readAllBytes(fileLocation);
try (FileOutputStream simpleStream = new FileOutputStream("no_aspose_file.xlsx")) {
simpleStream.write(bytes);
}
Workbook workbook = new Workbook(new ByteArrayInputStream(bytes));
ByteArrayOutputStream dstStream = new ByteArrayOutputStream();
PdfSaveOptions saveOptions = new PdfSaveOptions(SaveFormat.PDF);
// Save Workbook to PDF format by passing the object of PdfSaveOptions
workbook.save(dstStream, saveOptions);
..........
我建议您尝试使用具有更多增强功能的最新版本/修复程序v19.8。 PS。我在Aspose担任技术支持/开发人员。