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

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

相关推荐
BUG指挥官19 分钟前
Redis已接入AI
数据库·人工智能·spring boot·redis·spring cloud
weixin_4692738110 小时前
如何在线把文字转为 pdf 文档
pdf
2601_9639067810 小时前
离线截图 OCR 识别:支持表格与 PDF 解析
pdf·ocr·软件需求
m0_5873830011 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
azhou的代码园15 小时前
基于RFM模型的中小型企业客户管理系统
java·人工智能·spring boot·毕业设计
行百里er15 小时前
BeanPostProcessor:包装 Feign Client
spring boot·后端·监控
花生了什么事o15 小时前
自定义Spring Boot Starter全流程
java·spring boot·后端
摇滚侠16 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 31
android·spring boot·笔记
torpidcat16 小时前
ruoyi-vue-pro 若依芋道 java springboot +mybatis 生日查询相关
java·vue.js·spring boot
xcl092518 小时前
智慧场馆解决方案系统源码:从架构设计到部署实战
java·spring boot