没啥可说的,毫无技术的水贴
1 /** 2 * 获取pdf的总页数以及每页的宽度和高度 3 * 4 * @param filePath 5 * @return Map<String, List<Map<String, String>>> 6 * @author 龙谷情 7 * @date 2020/6/25 19:47 8 * @exception/throws [异常类型] [异常说明] 9 * @since [v1.0] 10 */ 11 public static Map<String, List<Map<String, String>>> getPageNumByPath(String filePath) { 12 Map resultMap = new HashMap(16); 13 List<Map<String, String>> pageList = new ArrayList<>(); 14 int totalPages = 0; 15 FileInputStream inputStream = null; 16 PdfReader pdfReader = null; 17 try { 18 File file = new File(filePath); 19 inputStream = new FileInputStream(file); 20 pdfReader = new PdfReader(inputStream); 21 totalPages = pdfReader.getNumberOfPages(); 22 for (int pageNum = 1; pageNum <= totalPages; pageNum++) { 23 Map<String, String> pageMap = new HashMap<>(16); 24 float width = pdfReader.getPageSize(pageNum).getWidth(); 25 float height = pdfReader.getPageSize(pageNum).getHeight(); 26 pageMap.put("pageNum", String.valueOf(pageNum)); 27 pageMap.put("width", String.valueOf(width)); 28 pageMap.put("height", String.valueOf(height)); 29 pageList.add(pageMap); 30 } 31 resultMap.put("totalPages", totalPages); 32 resultMap.put("pageList", pageList); 33 } catch (FileNotFoundException e) { 34 e.printStackTrace(); 35 } catch (IOException e) { 36 e.printStackTrace(); 37 } finally { 38 if (null != inputStream) { 39 try { 40 inputStream.close(); 41 } catch (IOException e) { 42 e.printStackTrace(); 43 } 44 } 45 if (null != pdfReader) { 46 pdfReader.close(); 47 } 48 } 49 return resultMap; 50 }