PDFBox - 查找页面尺寸

 大脸猫妈妈-啊珍妮妮_786 发布于 2023-02-06 18:42

如何使用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相对和绝对大小是基于无理数.)

脚注

在对象流内,可以将测量单位缩放到其他位置.以上仅适用于顶级基础对象.

2 个回答
  • 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相对和绝对大小是基于无理数.)

    脚注

    在对象流内,可以将测量单位缩放到其他位置.以上仅适用于顶级基础对象.

    2023-02-06 18:45 回答
  • DTP点中的坐标定义为:1 pt = 1/72英寸= 25.4 / 72 mm

    您可以编写这样的方法:

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

    2023-02-06 18:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有