没啥可说的,毫无技术的水贴

 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 }

pdf工具类之获取pdf的总页数以及每页的宽度和高度的更多相关文章

  1. Java 借助poi操作PDF工具类

    ​ 一直以来说写一个关于Java操作PDF的工具类,也没有时间去写,今天抽空写一个简单的工具类,拥有PDF中 换行,字体大小,字体设置,字体颜色,首行缩进,居中,居左,居右,增加新一页等功能,如果需要 ...

  2. 使用scanner工具类来获取用户输入的信息

    使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...

  3. java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源

    实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...

  4. Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP

    Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP IP 工具类 源代码: /** * <p> * * @author XiaoPengwei ...

  5. java img图片转pdf 工具类

    package com.elitel.hljhr.comm.web.main.controller; import java.io.File; import java.io.FileNotFoundE ...

  6. 关于通过spring-web的ServletRequestUtils工具类对获取getParameter传参的默认转换基本数据类型的学习

    基于spring-web(4.1.4)包的org.springframework.web.bind.ServletRequestUtils工具类对HttpServletRequest获取的传递入参获取 ...

  7. 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...

  8. 时间工具类之"获取相差天数"

    一.时间工具类DateUtils之"获取相差天数" 1 /** 2 * 相差天数 3 * 4 * <p>TODO 方法功能描述 5 * 6 * @param start ...

  9. Java工具类(获取当前主机操作系统名)

    package com.fly.jenkins.util; /** * 操作系统类: 获取System.getProperty("os.name")对应的操作系统 * * @aut ...

  10. Cookie工具类(获取cookie,设置cookie)

    import java.io.UnsupportedEncodingException; import java.net.URLDecoder;import java.net.URLEncoder; ...

随机推荐

  1. DevSecOps的实现与相关开源工具

    DevSecOps的实现与相关开源工具 DevSecOps是一种以自动化方式在DevOps流程中集成安全工具的方法.DevSecOps不仅仅是引入新的安全工具,还包括关于使用这些工具的必要知识.这需要 ...

  2. PyInstaller 常用用法

    PyInstaller 常用用法 PyInstaller 是一个跨平台的 Python 应用打包工具,支持 Windows/Linux/MacOS 三大主流平台,能够把 Python 脚本及其所在的 ...

  3. MySQL获取周、月、天日期,生成排序号

    常用MySQL生成时间序列 --生成最近七天的日期,不包括当天 SELECT @cdate := date_add(@cdate, interval - 1 day) as date FROM(SEL ...

  4. git版本管理库运用

    一.git 删除本地创建的仓库连接 //删除文件夹下的所有 .git 文件 find . -name ".git" | xargs rm -Rf 二.git命令:全局设置用户名邮箱 ...

  5. 快速理解 MCP 与 A2A 协议的关系,它们如何协作构建复杂AI系统

    近期关于MCP协议的讨论非常热门,主要因为通过MCP协议通过标准化接口为 AI 应用与外部数据源建立统一交互通道,这使得大模型可以与外部数据源或工具进行交互,从而实现各种专业场景下的智能应用.关于如何 ...

  6. 容器镜像基础(nydus)

    " 包括 nydus 的基本概念.架构和容器镜像加速使用方法. 1. nydus 1.1 存在的问题 对于容器镜像使用者 问题一:启动容器慢:容器启动慢的情况普遍发生在当用户启动一个很大的容 ...

  7. php 微信小程序转义403

    function code 微信 iv 偶现 encryptedData 41003 encodeURIComponent 关于小程序微信授权登录提示41003 文章简介 原因一(iv和encrypt ...

  8. Ubuntu安装部署Zabbix网络监控平台和设备配置添加

    概述 Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持. Zabbix 是一个企业级的开源分布式监控解决方案. Zabbix 是一款监控众多参数的 ...

  9. 【UEFI】DXE阶段从概念到代码

    总述 DXE(Driver Execution Environment)阶段,是执行大部分系统初始化的阶段,也就是说是BIOS发挥作用,初始化整个主板的主战场.在这个阶段我们可以进行大量的驱动工作. ...

  10. Windows平台调试器原理与编写05.内存断点

    https://www.bpsend.net/thread-274-1-3.html 内存断点 访问断点 写入断点 内存写入断点 简介:当被调试进程访问,读或写指定内存的时候,程序能够断下来. 思考1 ...