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 小时前
优雅地实现ChatGPT式的打字机效果:Spring Boot 流式响应
spring boot·后端·流式响应
WAZYY06192 小时前
C#实现PDF合并、裁剪功能
开发语言·pdf·c#·pdf合并·pdf工具·pdf切割
开开心心就好2 小时前
文档格式转换软件 一键Word转PDF
开发语言·前端·数据库·pdf·c#·word
从零开始学习人工智能2 小时前
PDFMathTranslate:让科学PDF翻译不再难——技术原理与实践指南
java·开发语言·pdf
叫我阿柒啊3 小时前
Java全栈工程师的实战面试:从基础到微服务的全面解析
java·数据库·vue.js·spring boot·微服务·前端开发·全栈开发
lssjzmn4 小时前
性能屠夫还是稳定王者?SpringBoot项目Log4j2与Logback异步日志终极对决
java·spring boot
计算机学姐5 小时前
基于SpringBoot的老年人健康数据远程监控管理系统【2026最新】
java·vue.js·spring boot·后端·mysql·spring·mybatis
sheji34166 小时前
【开题答辩全过程】以 基于Spring Boot农产品运输服务平台为例,包含答辩的问题和答案
java·spring boot·后端
BillKu16 小时前
Spring Boot 多环境配置
java·spring boot·后端