记录一下java实现word转pdf的方法。今天公司做一个需求,需要将word转pdf,但是我在网上找了很多方法,要么转换速度慢,要么转换出来的格式不一样,遇到了各种问题。绞尽脑汁后,终于找到了个不会出错的方法,在此分享给大家。
首先需要引入依赖,如下。
<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>
然后是具体的实现代码,如下。
public static void main(String[] args) {
File inputWord = new File("D:/test.docx");
File outputFile = new File("D:/test.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();
}
}
如果有更好的方法,请大家分享出来,我们一起讨论。
------------------------------------------------------------------------------------
在更新一下,由于用的技术是documents4j,所以如果要部署到服务器上,需要在windows重安装office ,linux系统也需要装,不然会报错,用不了