Free Support Forum - aspose.com

Aspose.PDF for Java 获取页面高度问题

我使用的是Aspose.PDF for Java 20.6,当我创建一个新的PDF时,我使用了page.setPageSize()给页面设置了宽度和高度,另外PageInfo类的属性也设置了相同的数值,生成的PDF文件使用编辑器打开后显示也是跟我设置的值是相同的。但是当我读取这个文件的时候,我使用了page.getPageInfo().getHeight()和page.getPageInfo().getwidth(),这两个代码得到的值并不是我之前创建新的PDF时所设置的值,我想问的是我要怎么获取到PDF文件中页面的实际高度的值呢?

@jjsoft

您能否与我们分享用于设置和获取页面尺寸的示例代码片段。我们将在我们的环境中测试该场景并相应地解决它。

这里是我创建PDF是使用的代码
Document doc = new Document();
Page add = doc.getPages().add();
add.setPageSize(PageSize.getA6().getWidth(),PageSize.getA6().getHeight());
// 这里我刚开始并没有设置,当我发现取到的页面高度不是我设置的值后,我对PageInfo进行了设置,但是它好像没有起到作用
PageInfo pageInfo = new PageInfo();
pageInfo.setWidth(PageSize.getA6().getWidth());
pageInfo.setHeight(PageSize.getA6().getHeight());
add.setPageInfo(pageInfo);
doc.setPageInfo(pageInfo);
doc.save(new FileOutputStream(new File(“D://A5.pdf”)));
doc.close();

这里是我获取页面尺寸时的代码:
Document doc = new Document(new FileInputStream(new File(“D://A5.pdf”)));
Page item = doc.getPages().get_Item(1);
PageInfo pageInfo = item.getPageInfo();
double height = pageInfo.getHeight();
double width = pageInfo.getWidth();
System.out.println(“height:” + height);
System.out.println(“width:” + width);

@jjsoft

使用API​​的20.10版本,我们可以在我们这边注意到该问题。因此,我们在问题跟踪系统中将其记录为PDFJAVA-39890。我们将进一步调查其详细信息,并向您发布其更正状态。请耐心等待,给我们一些时间。

我们对造成的不便很抱歉。

您好, 公司领导询问此问题的预估修复时间, 方便后续使用评估.

@jjsoft

我们已经完成了对机票的调查。 PageInfo类的getHeight()/ getWidth()方法只能在PDF生成过程中使用。对于现有的PDF,您可以通过以下代码获取“高度/宽度”:

System.out.println("height:" + item.getPageRect(true).getHeight());
System.out.println("width:" + item.getPageRect(true).getWidth());