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 分钟前
SSM(MybatisPlus)
java·开发语言·spring boot·后端
不爱编程的小九九3 分钟前
小九源码-springboot051-智能推荐旅游平台
java·spring boot·后端
老华带你飞22 分钟前
小区服务|基于Java+vue的小区服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·小区服务管理系统
龙茶清欢1 小时前
具有实际开发参考意义的 MyBatis-Plus BaseEntity 基类示例
java·spring boot·spring cloud·mybatis
计算机学姐1 小时前
基于微信小程序的扶贫助农系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
C++chaofan1 小时前
游标查询在对话历史场景下的独特优势
java·前端·javascript·数据库·spring boot
小蒜学长1 小时前
springboot房地产销售管理系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
齐 飞1 小时前
Spring Cloud Alibaba快速入门-Sentinel熔断规则
spring boot·spring cloud·sentinel
邂逅星河浪漫1 小时前
【LangChain4j+Redis】会话记忆功能实现
java·spring boot·后端·阿里云·langchain4j·会话记忆
aloha_7892 小时前
新国都面试真题
jvm·spring boot·spring·面试·职场和发展