最近两天在弄office套餐的各种转换,刚开始用了easypoi对excel进行了各种操作,十分的方便。但是有个新需求是上传word文档,然后下载的时候是原word文档,预览的话用pdf预览,就涉及到了word转pdf。
一看easypoi上面没有,这我就有点懵了,立马想到了原生poi,网上搜了一圈自己尝试了一下,发现因为poi升级到4.1版本的原因,遇到了各种问题,无法完成转换。于是在*上找到个完美答案。直接贴代码:
pom:依赖
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-word</artifactId>
<version>1.0.3</version>
</dependency>
java代码:
public static void main(String[] args) {
File inputWord = new File("D:/aa.docx");
File outputFile = new File("D:/2.pdf");
try {
InputStream docxInputStream = new FileInputStream(inputWord);
OutputStream outputStream = new FileOutputStream(outputFile);
IConverter converter = LocalConverter.builder().build();
converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
outputStream.close();
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}
}
参考:springboot中Word转PDF技巧 - 简书 (jianshu.com)