PDFBox - 查找页面尺寸

2022-09-01 06:50:49

如何使用PDFBox找到PDF页面的宽度和高度(以毫米为单位)?目前,我正在使用这个:

System.out.println(page.getMediaBox().getHeight());
System.out.println(page.getMediaBox().getWidth());

但结果是(不是毫米):

842.0
595.22

答案 1

PDF中的测量单位以为单位,这是传统的图形行业测量单位。Adobe 使用以下定义:

1 pt = 1/72 inch

由于一英寸被定义为正好是25.4毫米(真的!),您可以使用公式从点转换为毫米

mm = pt*25.4 / 72

顺便说一句,您的值(松散地)转换为A4纸张尺寸为210 x 297 mm(“松散地”,原因有2个。首先:x 尺寸源自公制系统中的 1 平方米。积分基于英制系统(根据Adobe的使用情况);因此,点和毫米之间的所有转换都是近似值。第二:A4 的给定值(以 mm 为单位)也四舍五入。x 相对大小和绝对大小基于无理数

脚注

在对象流中,度量单位可以缩放到其他对象。上述情况仅适用于顶级基础对象。


答案 2

DTP 点中的坐标定义为:1 pt = 1/72 英寸 = 25.4/72 mm

你可以写一个这样的方法:

public float pt2mm(float pt) {
   return pt * 25.4f / 72;
}

推荐