1、导入依赖
<!-- pdfbox--> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.30</version> </dependency>
2、pdf工具类
public static boolean validatePdfResolution(File pdfFile, int maxDpi) { try (PDDocument document = PDDocument.load(pdfFile)) { for (PDPage page : document.getPages()) { Iterable<COSName> xObjectNames = page.getResources().getXObjectNames(); for (COSName xObjectName : xObjectNames) { PDXObject xobject = page.getResources().getXObject(xObjectName); if( xobject instanceof PDImageXObject) { PDImageXObject image = (PDImageXObject) xobject; int imageWidth = image.getWidth(); int imageHeight = image.getHeight(); int dpiX = Convert.toInt(imageWidth * 72 / page.getCropBox().getWidth()); int dpiY = Convert.toInt(imageHeight * 72 / page.getCropBox().getHeight()); // log.info("xDPI:" + dpiX); // log.info("yDPI:" + dpiY); if (dpiX > maxDpi || dpiY > maxDpi) { return true; // 分辨率高于最大允许值 } } } document.close(); } } catch (IOException e) { log.error(e.getMessage()); } return false; }