word、excel文件转PDF(documents4j方式,简单)
1 documents4j方式
引入pom
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>1.1.12</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-word</artifactId>
<version>1.1.12</version>
</dependency>
#excel转pdf需要的jar
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-excel</artifactId>
<version>1.1.12</version>
</dependency>
2 代码实现(word,excel转pdf代码)
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
public static void main(String[] args) {
File inputWord = new File("E:\\111\\123.docx");
File outputFile = new File("E:\\111\\123.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();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* documents4j方式excel转pdf
* @param file 源文件
* @return 返回转成功的文件
*/
public static File wordToPDFByDocuments4j(File file) {
File outputFile = new File(String.format("%s%s%s%s", file.getParentFile(), File.separator, System.currentTimeMillis(), ".pdf"));
try {
InputStream docxInputStream = new FileInputStream(file);
OutputStream outputStream = new FileOutputStream(outputFile);
IConverter converter = LocalConverter.builder().build();
converter.convert(docxInputStream).as(DocumentType.XLSX).to(outputStream).as(DocumentType.PDF).execute();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return outputFile;
}