java - PDFBox中PDF文件的不同高度和宽度属性
问题描述
对于某个 PDF 文件,如果我使用page.getMediaBox().getWidth()
并page.getMediaBox().getHeight()
使用 PDFBox 获取 PDF 文件页面的宽度和高度,如果显示的值与我使用PDFBoxDebugger
. 可能是什么原因?我附上PDFDebugger
. 我正在使用 PDFBox-2.0.9 版本。我从中得到的值分别是 531.36597page.getMediaBox().getWidth()
和647.99603,它们与这些值page.getMediaBox().getHeight()
不匹配。PDFBoxDebugger
(而且它只发生在 PDF 的第一页,对于其他页面它工作正常)
解决方案
正如蒂尔曼在评论中已经说过的那样,期望的值是
- 宽度为 1282.2 - 750.834 = 531.366和
- 高度为 849.593 - 201.597 = 647.996(校正值)。
观测值
531.36597 和 647.99603
考虑到类型的准确性,它与预期值足够对应float
。
我假设操作误解了MediaBox数组的值。它们不包含作为显式值的宽度或高度,而是包含框的两个对角的坐标。
MediaBox值被指定为类型rectangle,参见。ISO 32000-1 表 30页面对象中的条目。并且一个矩形被指定为
一个特定的数组对象,用于描述页面上的位置和各种对象的边界框,并写为一个由四个数字组成的数组,给出一对对角相对角的坐标,
参看。ISO 32000-1 第 4.40 节矩形。
正如 Tilman 已经提到的,您可能应该查看CropBox。
推荐阅读
- php - Laravel nova diffForHumans DateTime
- mongodb - graphql 查询返回具有空 id 的对象
- ios - UICollectionView 标头影响预取项目
- php - PhpMailer 无法通过 postfix 发送
- laravel - Laravel API 调用表单验证不起作用
- java - 如何解决依赖于已在 WEB-INF/lib 中的类的插件所需的 Tomcat Web 应用程序中的 JAR 冲突?
- c++ - 为什么这个动态数组会抛出异常?
- javascript - 电子框架:为输入和输出语音录制音频
- node.js - 如何从我的应用程序运行 npm pack 命令?
- excel - 在最后一个活动工作表处重新打开工作簿