之前记录了按照模板生成 DOCX 文件、并转换为 PDF 文件的方法
https://blog.csdn.net/qq_40096897/article/details/131979177?spm=1001.2014.3001.5501

但是使用效果并不是很理想,转换完的 PDF 格式和原本的文档格式不匹配。所以在此重新找了一个文件转 PDF 的方法。

<dependency>
   <groupId>com.luhuiguo</groupId>
   <artifactId>aspose-pdf</artifactId>
   <version>23.1</version>
</dependency>
<dependency>
   <groupId>com.luhuiguo</groupId>
   <artifactId>aspose-words</artifactId>
   <version>23.1</version>
</dependency>

可以保存为输出流

InputStream inputStream = new FileInputStream("F:\\test.docx");
try (ByteArrayOutputStream  outPDF = new ByteArrayOutputStream()) {
    //转PDF
    com.aspose.words.Document doc = new com.aspose.words.Document(inputStream);
    doc.save(outPDF, com.aspose.words.SaveFormat.PDF);
} catch (IOException e) {
    e.printStackTrace();
}
inputStream.close();

也可以直接保存为指定文件

InputStream inputStream = new FileInputStream("F:\\test.docx");
com.aspose.words.Document doc = new com.aspose.words.Document(inputStream);
doc.save("F:\\test.pdf", com.aspose.words.SaveFormat.PDF);
inputStream.close();

效果如下:
这是DOCX模板,模板格式如下
Springboot -- DOCX转PDF(二)-LMLPHP
这是按照模板生成文档后再转为PDF的效果:
Springboot -- DOCX转PDF(二)-LMLPHP

09-16 15:16