我希望获得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;}
1 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
页面尺寸(媒体框/裁剪框)以默认用户空间单位给出,而默认为1/72英寸。因此,只需将框的宽度或高度除以 72 即可获得页面宽度或高度(以英寸为单位)。
但是,这与 DPI 值 72 不对应,因为这将是分辨率值,而 pdf 没有分辨率,因此默认用户空间单位只是不同的测量单位。
添加回答
举报
0/150
提交
取消