itextPdf获取pdf文件宽高不准确

正常情况下我们通过下面方式获取宽高

java 复制代码
PdfReader reader = new PdfReader(file.getPath());
float width = reader.getPageSize(1).getWidth();
float height = reader.getPageSize(1).getHeight();

但是这样获取的宽高是不准确的,永远都是 宽 > 高,也就是横向。所以实际上是需要使用旋转角度来进行判断

java 复制代码
PdfReader reader = new PdfReader(file.getPath());
int rotation = reader.getPageRotation(1);
float width = 0f;
float height = 0f;
if (rotation == 270 || rotation == 90) {
    width = reader.getPageSize(1).getHeight();
    height = reader.getPageSize(1).getWidth();
}else{
    width = reader.getPageSize(1).getWidth();
    height = reader.getPageSize(1).getHeight();
}

当旋转为横向的时候,我们就把宽高倒置即可。

相关推荐
程序员西西1 天前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
大云计算机毕设1 天前
2026年计算机专业毕业设计热门选题推荐(微信小程序、Spring Boot、Python、大数据)
spring boot·毕业设计·课程设计·论文笔记·毕设
高级程序源1 天前
springboot社区医疗中心预约挂号平台app-计算机毕业设计源码16750
java·vue.js·spring boot·mysql·spring·maven·mybatis
y***61311 天前
SpringBoot集成Flowable
java·spring boot·后端
i***58671 天前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud
s***38561 天前
SpringBoot中如何手动开启事务
java·spring boot·spring
i***22071 天前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
代码or搬砖1 天前
SpringMVC的执行流程
java·spring boot·后端
极光代码工作室1 天前
基于SpringBoot的流浪狗管理系统的设计与实现
java·spring boot·后端
思密吗喽1 天前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计