博客 / 詳情

返回

使用Python獲取PDF頁面的大小、方向和旋轉角度

在文檔管理和自動化領域,瞭解PDF文檔的內在屬性(如頁面大小、方向和旋轉角度)對於確保一致的文檔處理和佈局保真度至關重要。這些屬性在內容重用、歸檔以及PDF無縫集成到網絡環境或其他數字工作流程中起着關鍵作用,因為它們直接影響文檔的可讀性和用户體驗。通過利用Python,開發人員可以高效提取這些屬性,從而方便旋轉頁面的自動更正等任務。

本文將展示如何使用Python代碼獲取PDF文檔中頁面的大小、方向和旋轉角度

  • 使用Python獲取PDF頁面的大小
  • 使用Python獲取PDF頁面的方向
  • 使用Python獲取和設置PDF頁面的旋轉角度

本文使用的方法需要Spire.PDF for Python,PyPI安裝命令:pip install Spire.PDF

申請免費License

使用Python獲取PDF頁面的大小

我們可以使用PdfPageBase.Size.WidthPdfPageBase.Size.Height來獲取PDF頁面的寬度和高度(單位為點)。然後,我們可以使用PdfUnitConvertor類將寬度和高度轉換為其他單位,如毫米。詳細步驟如下:

  • 導入必要的模塊。
  • 創建一個PdfDocument對象,並使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Size.WidthPdfPageBase.Size.Height屬性獲取頁面的寬度和高度。
  • 創建一個PdfUnitConvertor對象。
  • 使用PdfUnitConvertor.Convert()方法將寬度和高度轉換為毫米。
  • 打印結果。
  • 釋放資源。

代碼示例

from spire.pdf import *

# 創建一個 PdfDocument 實例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面寬度和高度(單位為點)
width = page.Size.Width
height = page.Size.Height

# 創建一個 PdfUnitConvertor 實例
converter = PdfUnitConvertor()

# 將寬度和高度從點轉換為釐米
mmWidth = converter.ConvertUnits(width, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)
mmHeight = converter.ConvertUnits(height, PdfGraphicsUnit.Point, PdfGraphicsUnit.Centimeter)

# 打印寬度和高度
print("寬度: " + str(round(mmWidth, 1)) + " 釐米")
print("高度: " + str(round(mmHeight, 1)) + " 釐米")

# 釋放資源
pdf.Close()

結果
Python獲取PDF頁面寬高

使用Python獲取PDF頁面的方向

由於頁面方向不是一個固定的參數,我們需要通過比較頁面的高度和寬度來確定PDF頁面是橫向還是縱向。步驟如下:

  • 導入必要的模塊。
  • 創建一個PdfDocument對象,並使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Size.WidthPdfPageBase.Size.Height屬性獲取頁面的寬度和高度。
  • 比較高度和寬度以確定PDF頁面是橫向還是縱向,並打印結果。
  • 釋放資源。

代碼示例

from spire.pdf import *

# 創建一個 PdfDocument 實例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面的寬度和高度
width = page.Size.Width
height = page.Size.Height

# 檢查頁面的方向並打印結果
if width > height:
    print("頁面為橫向")
else:
    print("頁面為縱向")

# 釋放資源
pdf.Close()

結果
Python獲取PDF頁面方向

使用Python獲取和設置PDF頁面的旋轉角度

可以通過PdfPageBase.Rotation屬性直接獲取PDF頁面的旋轉角度。然後我們可以使用該值構建字符串並打印,或者通過PdfPageBase.Rotation屬性更改旋轉角度。詳細步驟如下:

  • 導入必要的模塊。
  • 創建一個PdfDocument對象,並使用PdfDocument.LoadFromFile()方法加載PDF文檔。
  • 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
  • 通過PdfPageBase.Rotation屬性獲取旋轉角度。
  • 打印旋轉角度或進行其他操作。
  • 釋放資源。

代碼示例

import re

from spire.pdf import *

# 創建 PdfDocument 實例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例1.pdf")

# 獲取第一頁
page = pdf.Pages.get_Item(0)

# 獲取頁面的旋轉角度
rotationAngle = page.Rotation

# 輸出旋轉角度
print("旋轉角度: " + re.search(r"\d+", rotationAngle.name).group() + " 度")

# 修改旋轉角度
page.Rotation = PdfPageRotateAngle.RotateAngle0

# 保存文檔
pdf.SaveToFile("output/ChangeRotationAngle.pdf")
pdf.Close()

結果
Python獲取和設置PDF頁面旋轉角度

本文展示瞭如何使用Python獲取PDF文檔中頁面的大小、方向和旋轉角度。

有關更多PDF文檔處理技巧,請參閲Spire.PDF for Python教程。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.