如何使用Java中的PDFBOX库查找pdf是纵向还是横向

时间:2016-08-12 13:46:19

标签: java pdf pdfbox

我正在使用 PDFBOX-1.8.6 库(强制使用)在 Java 中进行项目。 我的问题是

  1. 如何检查输入的pdf文件是纵向还是横向?
  2. 如果两个页面的尺寸相同,如何检查/扫描PDF中的纵向或横向方向?例如,两者都是标准A4尺寸。 下面的图片你会更清楚。 my Landscape - Portrait problem 我只想检查其内容是否旋转。那我怎样才能解决上述问题?

2 个答案:

答案 0 :(得分:8)

假设您有一个PDPage对象:

PDRectangle mediaBox = page.findMediaBox();
boolean isLandscape = mediaBox.getWidth() > mediaBox.getHeight();

然而......页面可以旋转:

int rotation = page.findRotation();
if (rotation == 90 || rotation == 270)
    isLandscape = !isLandscape;

这仅适用于1.8。*。在2. *版本中,使用getMediaBox()和getRotation()。不要在1.8。*版本中使用get *方法,因为如果页面级别缺少信息,他们就不会查找页面树。

答案 1 :(得分:2)

这将为您提供帮助

if(document !=null){
            int pageCount = document.getNumberOfPages();
            for(int i = 0; i <pageCount ; i++){

                PDRectangle pageSize=document.getPage(i).getMediaBox();


                int degree=document.getPage(i).getRotation();

                 if(( pageSize.getWidth() > pageSize.getHeight()) ||(degree==90)||(degree==270)){

                       document.close();
                    return true; //document is landscape
                }
            }
        }