簡體   English   中英

如何使用 Java 中的 PDFBOX 庫查找 pdf 是縱向還是橫向

[英]How to find pdf is portrait or landscape using PDFBOX Library in Java

我正在使用PDFBOX-1.8.6庫(必須使用)在Java 中進行項目。 我的問題是

  1. 如何檢查輸入的 pdf 文件是縱向還是橫向?
  2. 如果兩者相同,如何通過每頁的尺寸檢查/掃描 PDF 中的縱向或橫向? 例如,兩者都是標准 A4 尺寸。 看下圖你會更清楚。 我的橫向 - 縱向問題我只想檢查其內容是否旋轉。 那么我該如何應對上述問題呢?

假設您有一個 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*方法,因為如果在頁面級別缺少信息,它們不會查找頁面樹。

這會幫助你

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
                }
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM