当前位置: 首页 > 知识库问答 >
问题:

获取PDPage/PDDocument的DPI以准确计算PDF尺寸

施晗日
2023-03-14

我希望获得PDF中每个页面的准确大小,作为我将创建的PDF单元测试的一部分。当我处理每个文档中具有许多不同页面大小的PDF时,代码返回一个ArrayList维度。

AFAIK每个页面也可以有自己的DPI设置。

我在谷歌上搜索了很多次,但我只找到了这个答案,这只给了我部分答案,因为我仍然需要计算出每页的DPI。

PDFBox-查找页面维度

public static ArrayList<float[]> getDimentions(PDDocument document) {
    ArrayList<float[]> dimensions = new ArrayList<>();
    float[] dim = new float[2];
    //Loop Round Each Page
    //Get Dimensions of each page and DPI
    for (int i = 0; i < document.getNumberOfPages(); i++) {
        PDPage currentPage = document.getPage(i);
        PDRectangle mediaBox = currentPage.getMediaBox();
        float height = mediaBox.getHeight();
        float width = mediaBox.getWidth();
        // How do I get the DPI now????
    }
    //Calculate Size of Page in mm  (
    //Get Dimensions of each page and DPI ( https://stackoverflow.com/questions/20904191/pdfbox-find-page-dimensions/20905166  )
    //Add size of page to list of page sizes
    //Return list of page sizes.
    return dimensions;
}

共有1个答案

佟和平
2023-03-14

页面尺寸(媒体框/裁剪框)以默认用户空间单位给出,而默认用户空间单位为1/72英寸。因此,只需将框的宽度或高度除以72,就可以得到以英寸为单位的页面宽度或高度。

这并不对应于DPI值72,但是,因为这将是一个分辨率值,而pdf没有分辨率,默认的用户空间单位只是一个不同的度量单位。

 类似资料:
  • 问题内容: $fooValue = 100.68; $cowValue = 100.67; 这将显示“错误”。 我知道用Java做些什么。但是我不太擅长PHP,尤其是在计算方面。 请帮帮我。我是说如何成功? 问题答案: 浮点数是一种不精确的数据类型(就像所有浮点数据类型一样),因为在二进制之间进行转换可能会失去精度。这就是为什么当您需要高精度(精确)时不应该使用浮点运算的原因。 在PHP中,检查B

  • 我考虑了两种解决方法: 通过php exec使用GhostScript读取上传的文件并获取其尺寸-我还不能让这种方法起作用 使用PHP PDF库读取上传的文件并获取其尺寸(如fdpi/fpdf)-我有一些东西在工作(我想!) 至于Ghostscript,我在这里找到了这个答案,因此建议使用另一个名为(我确实是按照评论建议先下载的)。然而,我无法让它正常工作。在将其添加到任何PHP脚本之前,我尝试运

  • 使用1.8.9 http://www.cinemas-utopia.org/admin/grilles/toulouse/2015-06-02.pdf

  • 标准正态分布的概率密度函数定义为e < sup >-x < sup > 2 /2 /√(2π)。这可以用简单的方式转换成C代码。单精度实现的示例可能是: 虽然此代码没有过早的下限溢位,但存在精度问题,因为计算2/2时产生的误差会被后续的幂运算放大。人们可以通过针对更高精度引用的测试轻松证明这一点。确切的误差将根据所使用的或实现的准确性而有所不同;对于忠实四舍五入的幂函数,人们通常会观察到IEEE-

  • 问题内容: 我有一个固定的宽度和高度来调整图像大小。但是,我对此有一个问题,因为图像可以具有任何类型的尺寸比(可以是 垂直 或 水平 )。在这种情况下,固定的宽度和高度会引起问题。我想以更智能的方式计算 宽度和高度 。 例如,假设我定义了 width 1024px和height 768px 。我想调整垂直图像的尺寸 (高度1100px和宽度200px) 。因此,在我的情况下,它将调整为固定 大小(

  • 本文向大家介绍写个方法获取屏幕的DPI相关面试题,主要包含被问及写个方法获取屏幕的DPI时的应答技巧和注意事项,需要的朋友参考一下