对于某个PDF文件,如果我使用page.getMediaBox().getWidth()
和page.getMediaBox().getHeight()
来获取宽度和高度使用 PDFBox 的 PDF 文件页面,如果显示的值与我使用 PDFBoxDebugger
获取的值不同。可能是什么原因?我附上了 PDFDebugger
的屏幕截图。我使用的是PDFBox-2.0.9版本。我从 page.getMediaBox().getWidth()
和 page.getMediaBox().getHeight()
获得的值分别是 531.36597 和 647.99603,与PDFBoxDebugger
值。 (它只发生在 PDF 的第一页,对于其他页面它工作正常)
最佳答案
正如蒂尔曼在评论中已经指出的那样,期望的值是
- 宽度为 1282.2 - 750.834 = 531.366 和
- 高度为 849.593 - 201.597 = 647.996(修正值)。
观测值
考虑到531.36597 and 647.99603
float
类型的准确性,足够符合预期值。
<小时/>我假设运算符(operator)误解了 MediaBox 数组的值。它们不包含作为显式值的宽度或高度,而是包含框的两个对角的坐标。
MediaBox 值被指定为矩形类型,参见。 ISO 32000-1 表 30 页面对象中的条目。并且矩形被指定为
a specific array object used to describe locations oon a page and bounding boxes for a variety of objects and written as an array of four numbers giving the coordinates of a pair of diagonally opposite corners,
比照。 ISO 32000-1 第 4.40 节矩形。
<小时/>正如 Tilman 已经提到的那样,您可能应该查看 CropBox。
关于java - PDFBox 中 PDF 文件的不同高度和宽度属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52033246/