主要依赖
<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));}