- pom.xml添加documents4j依赖
<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>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-excel</artifactId>
<version>1.0.3</version>
</dependency>
- 使用
private void wordOrExcelTransition(String inputWordPath, String outPdfPath){
File inputWord = new File(inputWordPath);
File outputFile = new File(outPdfPath);
try {
InputStream docxInputStream = new FileInputStream(inputWord);
OutputStream outputStream = new FileOutputStream(outputFile);
IConverter converter = LocalConverter.builder().build();
String fileTyle = inputWordPath.substring(inputWordPath.lastIndexOf("."), inputWordPath.length());
if(".docx".equals(fileTyle)){
converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
}else if(".doc".equals(fileTyle)){
converter.convert(docxInputStream).as(DocumentType.DOC).to(outputStream).as(DocumentType.PDF).execute();
}else if(".xls".equals(fileTyle)){
converter.convert(docxInputStream).as(DocumentType.XLS).to(outputStream).as(DocumentType.PDF).execute();
}else if(".xlsx".equals(fileTyle)){
converter.convert(docxInputStream).as(DocumentType.XLSX).to(outputStream).as(DocumentType.PDF).execute();
}
outputStream.close();
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}
}