首先引入这两个
<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>
package org.springblade.common.tool;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import java.io.*;
public class PDFToWord {
public static void main(String[] args) {
File inputWord = new File("D:\\Downloads\\test.docx");
File outputFile = new File("D:\\Downloads\\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();
// }
try {
InputStream docxInputStream = new FileInputStream(inputWord);
OutputStream outputStream = new FileOutputStream(outputFile);
convertWordToPdf(docxInputStream, outputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将Word文件转换为PDF文件
* @param docxInputStream Word文件输入流
* @param outputStream PDF文件输出流
*/
public static void convertWordToPdf(InputStream docxInputStream, OutputStream outputStream) {
try {
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();
}
}
}