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

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

相关推荐
谁在黄金彼岸8 分钟前
Spring Boot + WebFlux 全面使用指南
spring boot
希望永不加班12 分钟前
SpringBoot 主启动类解释:@SpringBootApplication 到底做了什么
java·spring boot·后端·spring
智能工业品检测-奇妙智能22 分钟前
国产化系统的性价比对比
人工智能·spring boot·后端·openclaw·奇妙智能
脑电信号要分类2 小时前
将多张图片拼接成一个pdf文件输出
pdf·c#·apache
SmartBrain2 小时前
Spring Boot的高性能技术栈的工程实践
spring boot·后端·架构
dreamxian3 小时前
苍穹外卖day09
java·spring boot·tomcat·log4j·maven
q5431470873 小时前
VScode 开发 Springboot 程序
java·spring boot·后端
学习要积极4 小时前
Springboot图片验证码-EasyCaptcha
java·spring boot·后端
yuyu_03044 小时前
畜牧(牛)数字化管理系统系统概要
spring boot
波波七4 小时前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端