使用 Python 旋轉PDF頁面、或調整PDF頁面順序

E-iceblue發表於2024-05-13

在將紙質文件掃描成PDF電子文件時,有時可能會出現頁面方向翻轉或者頁面順序混亂的情況。為了確保更好地瀏覽和檢視PDF檔案,本文將分享一個使用Python來旋轉PDF頁面或者調整PDF頁面順序的解決方案。

要實現Python對PDF頁面進行設定,我們需要用到第三方庫 Spire.PDF for Python。該庫支援在Python中生成、操作、轉換PDF等各項操作。可以下載後手動安裝或者使用pip命令來安裝:

pip install Spire.PDF

使用Python旋轉PDF頁面

Spire.PDF for Python支援在當前頁面旋轉角度的基礎上順時針旋轉0度、90度、180度和270度。以下為示例程式碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 建立PdfDocument物件
pdf = PdfDocument()
 
# 載入PDF檔案
pdf.LoadFromFile("分析.pdf")
 
# 獲取第一頁
page = pdf.Pages[0]
 
# 獲取頁面原始旋轉角度
rotation = int(page.Rotation.value)
 
# 基於原始旋轉角度將頁面順時針旋轉90度
rotation += int(PdfPageRotateAngle.RotateAngle90.value)
page.Rotation = PdfPageRotateAngle(rotation)
 
# 儲存檔案
pdf.SaveToFile("旋轉PDF頁面.pdf")
pdf.Close()

在以上示例中,我們先使用 PdfPageBase.Rotation.value 屬性獲取頁面的原始旋轉角度,然後指定順時針90度的旋轉角度,再透過PdfPageBase.Rotation 屬性來旋轉PDF頁面。

效果圖:

使用Python調整PDF頁面順序

按照文件內容的邏輯性、相關聯性來重新排列PDF頁面可以增強PDF文件可讀性。在Python中,我們使用Spire.PDF for Python庫提供的 PdfDocument.Pages.ReArrange(orderArray: List[int]) 方法可以輕鬆調整PDF頁面順序。

其中引數orderArray是一個整數列表,用於指定新的頁面順序。例如,假設我們有一個包含 4 頁的 PDF 文件,頁碼分別為 1、2、3、4。如果我們想重新排列這些頁面,使得頁面順序變為 3、1、4、2,那麼 orderArray 應該是 [2, 0, 3, 1](PDF頁面索引從 0 開始)。

以下為示例程式碼:

from spire.pdf.common import *
from spire.pdf import *
 
inputFile = "測試文件.pdf"
outputFile = "重排PDF頁面順序.pdf"
 
# 建立PdfDocument物件
pdf = PdfDocument()
 
# 載入PDF檔案
pdf.LoadFromFile(inputFile)
 
# 調整PDF頁面順序
pdf.Pages.ReArrange([1, 0, 2])
 
# 儲存檔案
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()

效果圖:


以上兩段程式碼演示瞭如何在Python中旋轉PDF頁面和重排PDF頁面順序。除此之外,該Python庫還支援其他PDF頁面設定,如設定頁邊距、頁面尺寸等,點選連結檢視更多示例:

https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html

相關文章