主要依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.8</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.12</version>
</dependency>
主要逻辑代码
//生成缩略图
String thumUploadPath = thumbnailFilePath + fileUUID + ".jpg";
FileUtils.mkFileParentDirs(thumUploadPath);
File thumDest = new File(thumUploadPath);
if (!"pdf".equals(suffix.toLowerCase())) {
BufferedImage image = ImageIO.read(new File(uploadPath));
int sideWidth = Math.min(image.getWidth(), image.getHeight());
ImgUtil.cut(dest, thumDest, new Rectangle(0, 0, sideWidth, sideWidth));
} else {
PDDocument doc = PDDocument.load(dest);
PDFRenderer renderer = new PDFRenderer(doc);
BufferedImage image = renderer.renderImageWithDPI(0, 162.8f);
int sideWidth = Math.min(image.getWidth(), image.getHeight());
ImgUtil.cut(image, thumDest, new Rectangle(0, 0, sideWidth, sideWidth));
}