com.aspose.words word 转pdf问题
在讲word转pdf的时候 推荐使用以下代码
public static void main(String[] args) throws Exception { // 加载要转换的Word文档。 Document doc = new Document("C:\\Temp\\input.doc"); // 要保存输出的PDF文件的位置。 String outputFilename = "C:\\Temp\\output.pdf"; // 导出到PDF。 doc.save(outputFilename); System.out.println("转换成功."); }
不推荐使用以下代码
public static void main(String[] args) throws Exception { // 加载要转换的Word文档。 Document doc = new Document("C:\\Temp\\input.doc"); // 要保存输出的PDF文件的位置。 String outputFilename = "C:\\Temp\\output.pdf"; // 导出到PDF。 document.save(Files.newOutputStream(Paths.get(outputFilename)), SaveFormat.PDF) System.out.println("转换成功."); }
因为第二种document 不会将newOutputStream进行关闭,这样在外层的pdf文件即使是删除了,仍然占用着linux资源,还是算一个打开的文件,通过lsof -p pid 命令发现很多
/hvyogo/file/B1177253166538846208-word.pdf (deleted)
实际还在占用资源 linux能打开的文件个数是有限的 随着系统的允许就会报文件打开太多的异常 导致java程序无法使用