java - PDFBox 中 PDF 文件的不同高度和宽度属性

标签 java pdfbox

对于某个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 的第一页,对于其他页面它工作正常)

MediaBox shows different values than the values using the MediaBox() method

最佳答案

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

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

相关文章:

java - 在给定坐标处创建带有文本的 pdf(PDFBox?)

java - 用java生成柱形图

Java PDFBox,从表的列中提取数据

java - 无法使用java去除pdf中的页面线

java - 如何通过单元测试验证是否记录了错误

java - 无法使用 MediaRecorder 记录通话

java - Hibernate Restrictions.isEmpty() 不工作

java - hadoop框架上的排序算法

java - 方面建议其他方面

java - pdfbox:如何克隆页面