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

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

相关推荐
Java爱好狂.9 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
顽疲14 小时前
java springboot vue 养老系统源码详解:请假 care_leave 销假与床位停费日扣实践
java·vue.js·spring boot
Java_AI工程师15 小时前
Spring4 / SpringBoot1.x 老项目想接入 AI?不用升级框架!3 套无痛落地方案
java·人工智能·spring boot
VimorphTech15 小时前
Java 文件缓存实战:如何避免读到未下载完成的视频?
java·spring boot
GlobalTradercrb15 小时前
独立站SEO先写博客还是先优化产品页?看站点阶段
数据库·人工智能·google·pdf·go·seo
十年Java程序媛17 小时前
JVM 内存区域与对象内存布局|new 对象底层流程,对象头 MarkWord 详解
java·jvm·spring boot
linyb极客之路17 小时前
Spring Boot 2升3太痛苦?用OpenRewrite批量搞定,少走90%弯路!
spring boot
171320330计算机毕设编程17 小时前
计算机毕业设计 基于springboot+vue的在线观鸟视频播放网站 LW PPT
java·大数据·vue.js·spring boot·算法·课程设计
热爱生活的五柒18 小时前
zotero能导入已经下载好的pdf文件嘛,并且点击条目时,能直接看到下载的pdf文件嘛,我还希望能在里面做笔记
笔记·pdf
开开心心就好1 天前
白天晚上自动调蓝光,护眼工具亮度可调
服务器·开发语言·算法·pdf·ocr·intellij-idea·idea