如何使用PDFBox找到(以mm为单位)pdf页面的宽度和高度?目前,我正在使用这个:
System.out.println(page.getMediaBox().getHeight()); System.out.println(page.getMediaBox().getWidth());
但结果是(不是mm):
842.0 595.22
usr2564301.. 31
PDF中的测量单位是点,传统的图形工业测量单位.Adobe使用以下定义:
1 pt = 1/72 inch
由于一英寸被定义为正好25.4毫米(真的!),您可以使用公式将点从毫米转换为毫米
mm = pt*25.4 / 72
顺便说一句,您的值(宽松地)转换为A4纸张尺寸210 x 297 mm.("松散地",有两个原因.第一:在公制系统中,x尺寸来自1平方米.点数基于(根据Adobe的用法)在英制系统中;因此,点和毫米之间的所有转换都是近似值.第二:A4的给定值(mm)也是四舍五入的.x相对和绝对大小是基于无理数.)
在对象流内,可以将测量单位缩放到其他位置.以上仅适用于顶级基础对象.
PDF中的测量单位是点,传统的图形工业测量单位.Adobe使用以下定义:
1 pt = 1/72 inch
由于一英寸被定义为正好25.4毫米(真的!),您可以使用公式将点从毫米转换为毫米
mm = pt*25.4 / 72
顺便说一句,您的值(宽松地)转换为A4纸张尺寸210 x 297 mm.("松散地",有两个原因.第一:在公制系统中,x尺寸来自1平方米.点数基于(根据Adobe的用法)在英制系统中;因此,点和毫米之间的所有转换都是近似值.第二:A4的给定值(mm)也是四舍五入的.x相对和绝对大小是基于无理数.)
在对象流内,可以将测量单位缩放到其他位置.以上仅适用于顶级基础对象.
DTP点中的坐标定义为:1 pt = 1/72英寸= 25.4 / 72 mm
您可以编写这样的方法:
public float pt2mm(float pt) { return pt * 25.4f / 72; }