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