在文檔管理和自動化領域,瞭解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.Width和PdfPageBase.Size.Height來獲取PDF頁面的寬度和高度(單位為點)。然後,我們可以使用PdfUnitConvertor類將寬度和高度轉換為其他單位,如毫米。詳細步驟如下:
- 導入必要的模塊。
- 創建一個
PdfDocument對象,並使用PdfDocument.LoadFromFile()方法加載PDF文檔。 - 使用
PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。 - 通過
PdfPageBase.Size.Width和PdfPageBase.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頁面的方向
由於頁面方向不是一個固定的參數,我們需要通過比較頁面的高度和寬度來確定PDF頁面是橫向還是縱向。步驟如下:
- 導入必要的模塊。
- 創建一個
PdfDocument對象,並使用PdfDocument.LoadFromFile()方法加載PDF文檔。 - 使用
PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。 - 通過
PdfPageBase.Size.Width和PdfPageBase.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頁面的旋轉角度
可以通過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文檔中頁面的大小、方向和旋轉角度。
有關更多PDF文檔處理技巧,請參閲Spire.PDF for Python教程。