依赖的话就自求多福吧,因为我这个代码也写了很久了,具体我也不太清楚用了哪些依赖(嘤嘤嘤)~
接下来直接看核心代码吧:
java
public R wordToPdf(MultipartFile file, HttpServletRequest request) throws IOException, DocumentException {
// 获取文件名,不带扩展名
String filename = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
try {
// 获取文件输入流
InputStream docxInputStream = file.getInputStream();
// 构建输出流,保存PDF文件到E盘下
String outputPath = "E:/pictureTool/"+filename+"_converted.pdf";
FilePath=outputPath;
FileName=filename+"_converted.pdf";
FileOutputStream outputStream = new FileOutputStream(outputPath);
// 构建转换器,将docx转换为PDF
IConverter converter = LocalConverter.builder().build();
converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
// 添加用户操作记录
boolean success = addUserOperation(file, "pdf", 1, request);
System.out.println("Word转PDF成功,操作结果为:" + success);
return R.Success("Word转PDF成功"+outputPath);
} catch (Exception e) {
e.printStackTrace();
// 添加用户操作记录
boolean success = addUserOperation(file, "pdf", 0, request);
System.out.println("Word转PDF失败,操作结果为:" + success);
return R.Failed("Word转PDF失败");
}
}
代码中均做有注释,可以实现word转pdf,若要看具体的其它配置,如静态资源的放行以及yml的配置,请移步到这篇博文(主要是真的不想再写一次了~(我知道,我很懒~))