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();
}

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

相关推荐
lqg_zone36 分钟前
基于 Socket.IO 实现 WebRTC 音视频通话与实时聊天系统(Spring Boot 后端实现)
spring boot·音视频·webrtc
拓端研究室1 小时前
专题:2025财务转型与AI赋能数字化报告|附30+份报告PDF汇总下载
人工智能·pdf
熊猫片沃子1 小时前
浅谈SpringBoot框架的优势
java·spring boot·后端
Asu52023 小时前
思途spring学习0807
java·开发语言·spring boot·学习
埃泽漫笔3 小时前
什么是SpringBoot
java·spring boot
zhang1062093 小时前
PDF注释的加载和保存的实现
java·开发语言·pdf·pdfbox·批注
码银3 小时前
什么是逻辑外键?我们要怎么实现逻辑外键?
java·数据库·spring boot
尘心不灭5 小时前
Spring Boot 项目代码笔记
spring boot·笔记·后端
你喜欢喝可乐吗?5 小时前
微信小程序与后台管理系统开发全流程指南
spring boot·微信小程序·vue