com.aspose.words word 转pdf问题

发布时间 2023-11-23 15:14:32作者: 平淡有从容

在讲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程序无法使用