使用python獲取PDF頁面的大小、方向和旋轉角度
引言
在文檔管理和自動化領域,了解PDF文檔的內在屬性(如頁面大小、方向和旋轉角度)對于確保一致的文檔處理和布局保真度至關重要。這些屬性在內容重用、歸檔以及PDF無縫集成到網(wǎng)絡環(huán)境或其他數(shù)字工作流程中起著關鍵作用,因為它們直接影響文檔的可讀性和用戶體驗。通過利用Python,開發(fā)人員可以高效提取這些屬性,從而方便旋轉頁面的自動更正等任務。
本文將展示如何使用Python代碼獲取PDF文檔中頁面的大小、方向和旋轉角度。
本文使用的方法需要Spire.PDF for Python,PyPI安裝命令:pip install Spire.PDF。
使用Python獲取PDF頁面的大小
我們可以使用PdfPageBase.Size.Width和PdfPageBase.Size.Height來獲取PDF頁面的寬度和高度(單位為點)。然后,我們可以使用PdfUnitConvertor類將寬度和高度轉換為其他單位,如毫米。詳細步驟如下:
- 導入必要的模塊。
- 創(chuàng)建一個
PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。 - 使用
PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。 - 通過
PdfPageBase.Size.Width和PdfPageBase.Size.Height屬性獲取頁面的寬度和高度。 - 創(chuàng)建一個
PdfUnitConvertor對象。 - 使用
PdfUnitConvertor.Convert()方法將寬度和高度轉換為毫米。 - 打印結果。
- 釋放資源。
代碼示例
from spire.pdf import *
# 創(chuàng)建一個 PdfDocument 實例
pdf = PdfDocument()
# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")
# 獲取第一頁
page = pdf.Pages.get_Item(0)
# 獲取頁面寬度和高度(單位為點)
width = page.Size.Width
height = page.Size.Height
# 創(chuàng)建一個 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頁面的方向
由于頁面方向不是一個固定的參數(shù),我們需要通過比較頁面的高度和寬度來確定PDF頁面是橫向還是縱向。步驟如下:
- 導入必要的模塊。
- 創(chuàng)建一個PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。
- 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
- 通過PdfPageBase.Size.Width和PdfPageBase.Size.Height屬性獲取頁面的寬度和高度。
- 比較高度和寬度以確定PDF頁面是橫向還是縱向,并打印結果。
- 釋放資源。
代碼示例
from spire.pdf import *
# 創(chuàng)建一個 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屬性更改旋轉角度。詳細步驟如下:
- 導入必要的模塊。
- 創(chuàng)建一個PdfDocument對象,并使用PdfDocument.LoadFromFile()方法加載PDF文檔。
- 使用PdfDocument.Pages.get_Item()方法獲取文檔中的頁面。
- 通過PdfPageBase.Rotation屬性獲取旋轉角度。
- 打印旋轉角度或進行其他操作。
- 釋放資源。
代碼示例
import re
from spire.pdf import *
# 創(chuàng)建 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頁面的大小、方向和旋轉角度的詳細內容,更多關于python獲取PDF頁面屬性的資料請關注腳本之家其它相關文章!
相關文章
詳解python tkinter包獲取本地絕對路徑(以獲取圖片并展示)
這篇文章主要給大家介紹了關于python tkinter包獲取本地絕對路徑(以獲取圖片并展示)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
使用Python實現(xiàn)嵌套繪圖并為條形圖添加自定義標注
論文繪圖時經(jīng)常需要多圖嵌套,正好最近繪圖用到了,所以這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)嵌套繪圖并為條形圖添加自定義標注,感興趣的可以了解下2024-02-02

