获取网页/PD 文档的 DPI 以准确计算 PDF 尺寸

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

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

我已经做了很多谷歌搜索,但我只想出了这个,这只给了我一部分答案,因为我仍然需要弄清楚每个页面的DPI是什么。

查找页面尺寸

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;

}


慕桂英3389331
浏览 69回答 1
1回答

回首忆惘然

页面尺寸(媒体框/裁剪框)以默认用户空间单位给出,而默认为1/72英寸。因此,只需将框的宽度或高度除以 72 即可获得页面宽度或高度(以英寸为单位)。但是,这与 DPI 值 72 不对应,因为这将是分辨率值,而 pdf 没有分辨率,因此默认用户空间单位只是不同的测量单位。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java