首页 > 解决方案 > PDFBox中PDF文件的不同高度和宽度属性

问题描述

对于某个 P​​DF 文件,如果我使用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 的第一页,对于其他页面它工作正常)

MediaBox 显示的值与使用 MediaBox() 方法的值不同

标签: javapdfbox

解决方案


正如蒂尔曼在评论中已经说过的那样,期望的值是

  • 宽度为 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


推荐阅读