关注小程序 找一找教程网-随时随地学编程

Net Core教程

.net转Java学习笔记14-Word转为PDF方式-aspose

本文参考记一次文件从Word转为PDF(documents4j和aspose)
之前documents4j做的本地测试转pdf好好得,结果到服务器就是报错,然后百度了下就看到上面说的

两种方法:documents4j和aspose
最开始是用documents4j,在本地使用很方便,但是部署到LINUX上面之后,抛出异常,就看了下官方文档,documents4j是使用本地的MS Office应用做的文件格式转换,Linux没有对应的MS Office应用,所以直接就废除.后来改用aspose,在本地也是测试完成,没有问题,但是服务器上就是各种中文乱码(中文小方格),跟之前使用openoffice的乱码虽然不一样,但是还是乱码.不过最终解决了问题.

1.pom文件的导入

 <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-words</artifactId>
            <version>14.9.0</version>
            <type>pom</type>
 </dependency>

2.在之前的工具类升级

 // word转pdf
    public static void word2Pdf2(String multipartFile, String pdfFilePath) {
        FileOutputStream fileOS = null;
        try {
            Document doc = new Document(multipartFile);
            fileOS = new FileOutputStream(new File(pdfFilePath));
            // 保存转换的pdf文件
            doc.save(fileOS, SaveFormat.PDF);
        }
        catch (Exception e) {
            System.out.println(e);
        }
        finally {
            try {
                if (fileOS != null) {
                    fileOS.close();
                }
            }
            catch (IOException e) {
                System.out.println(e);
            }
        }
    }

关于乱码的问题是linux服务器没得对应的字体,需要把本地的字体打包到服务器当中即可,这块后面再记录下。

以上如果安装正常的话,就可以打包到服务器,正常下载附件材料了。