Python調整PDF頁面尺寸大小的兩種方法
前言
在處理PDF文件時,我們可能會遇到這樣的情況:原始PDF文檔不符合我們的閱讀習慣,或者需要適配不同顯示設備等。這時,我們就需要及時調整PDF文檔中的頁面尺寸,以滿足不同應用場景的需求。
利用Python語言的高效性和靈活性,再結合Spire.PDF for Python 庫的強大功能,我們可以通過Python代碼輕松實現對PDF頁面的批量調整。在這篇文章中,我們將介紹兩種調整PDF頁面大小的方法
首先,需要先將Spire.PDF for Python庫安裝到項目中。pip命令:
pip install Spire.PDF
使用Python 調整PDF頁面大小的步驟
Spire.PDF for Python 庫提供的調整PDF頁面大小的方式是將原PDF文檔的內容復制到指定尺寸的新的PDF文檔的頁面上。主要實現步驟為:
- 加載原始PDF文檔,然后創(chuàng)建一個新的PDF文檔;
- 循環(huán)遍歷原始PDF文檔中的每一頁;
- 使用方法在新的PDF文檔中添加指定大小的頁面;
- 基于原始PDF文檔中頁面的內容來創(chuàng)建模板;
- 將模板繪制到新 PDF 文檔的頁面上;
- 保存新PDF文檔。
Spire.PDF for Python 支持A1, A2, A3, A4, B1, B2, B3, B4等標準頁面尺寸,也支持自定義頁面尺寸。下面將提供示例代碼分別介紹:
1. 將PDF頁面尺寸調整為常見標準尺寸
from spire.pdf.common import *
from spire.pdf import *
# 加載原始PDF文檔
originalPdf = PdfDocument()
originalPdf.LoadFromFile("報告.pdf")
# 創(chuàng)建新PDF文檔
newPdf = PdfDocument()
# 遍歷原始PDF文檔中的頁面
for i in range(originalPdf.Pages.Count):
page = originalPdf.Pages.get_Item(i)
# 在新PDF文檔中添加A4大小的頁面
newPage = newPdf.Pages.Add(PdfPageSize.A4(), PdfMargins(0.0))
# 創(chuàng)建PdfTextLayout實例
layout = PdfTextLayout()
# 將文本布局設置為單頁,以確保內容能夠正確適應頁面大小
layout.Layout = PdfLayoutType.OnePage
# 基于原始PDF頁面創(chuàng)建模板
template = page.CreateTemplate()
# 將模板繪制到新PDF文檔的頁面上
template.Draw(newPage, PointF.Empty(), layout)
# 保存新PDF文檔
newPdf.SaveToFile("調整PDF頁面為A4大小.pdf")
newPdf.Close()生成文件(A4紙規(guī)格為210mm×297mm):

2. 將PDF頁面尺寸調整為自定義尺寸
from spire.pdf.common import *
from spire.pdf import *
# 加載原始PDF文檔
originalPdf = PdfDocument()
originalPdf.LoadFromFile("報告.pdf")
# 創(chuàng)建新PDF文檔
newPdf = PdfDocument()
#創(chuàng)建PdfUnitConvertor類的對象,用于轉換不同的測量單位
unitCvtr = PdfUnitConvertor()
# 將自定義尺寸的單位由毫米轉換為點數(磅)
width = unitCvtr.ConvertUnits(180, PdfGraphicsUnit.Millimeter, PdfGraphicsUnit.Point)
height = unitCvtr.ConvertUnits(225, PdfGraphicsUnit.Millimeter, PdfGraphicsUnit.Point)
# 創(chuàng)建一個自定義寬度和高度的SizeF對象
size = SizeF(width, height)
# 遍歷原始PDF中的頁面
for i in range(originalPdf.Pages.Count):
page = originalPdf.Pages.get_Item(i)
# 在新PDF文檔中添加自定義尺寸(180*225mm)的頁面
newPage = newPdf.Pages.Add(size, PdfMargins(0.0))
# 創(chuàng)建PdfTextLayout實例
layout = PdfTextLayout()
# 將文本布局設置為單頁,以確保內容能夠正確適應頁面大小
layout.Layout = PdfLayoutType.OnePage
# 基于原始PDF頁面創(chuàng)建模板
template = page.CreateTemplate()
# 將模板繪制到新PDF文檔的頁面上
template.Draw(newPage, PointF.Empty(), layout)
# 保存新PDF文檔
newPdf.SaveToFile("自定義PDF頁面大小.pdf")
newPdf.Close()生成文件(此處自定義尺寸為180mm×225mm):

通過以上兩段示例代碼,我們可以根據需求將PDF頁面調整為想要的尺寸。除此之外,Spire.PDF for Python庫還支持調整PDF頁邊距、紙張方向等。
到此這篇關于Python調整PDF頁面尺寸大小的兩種方法的文章就介紹到這了,更多相關Python調整PDF頁面大小內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

