Python 在同一/或不同PDF之間複製頁面

E-iceblue發表於2024-12-02

操作PDF文件時,複製其中的指定頁面可以幫助我們從PDF檔案中提取特定資訊,如文字、圖表或資料等,以便在其他文件中使用。複製PDF頁面也可以實現在不同檔案中提取頁面,以建立一個新的綜合文件。本文將介紹如何使用Python 在同一文件中複製PDF頁面,或者複製頁面到另一PDF文件中

所需Python庫 - Spire.PDF for Python。可以透過下面的pip命令直接安裝:

pip install Spire.Pdf

Python 在同一PDF 文件中複製頁面

Spire.PDF for Python庫支援在文件中新增新頁面,然後將指定頁面的內容繪製到新頁面來實現複製PDF頁面。操作如下:

  1. 使用 LoadFromFile() 方法載入PDF文件;
  2. 獲取文件中指定頁面,然後使用 CreateTemplate() 方法基於頁面內容建立模板;
  3. 透過 Insert() 方法在指定索引處插入空白新頁面 (也可以使用 Add() 方法直接在文件末尾新增新頁面);
  4. 使用 PdfPageBase.Canvas.DrawTemplate() 方法將模板繪製到新頁面上;
  5. 使用 SaveToFile() 方法儲存PDF文件。
from spire.pdf.common import *
from spire.pdf import *

# 載入PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("實驗.pdf")

# 獲取第一頁
page = pdf.Pages[0]

# 基於該頁面建立模板
template = page.CreateTemplate()

# 插入一個新頁面到第二位置處
page = pdf.Pages.Insert(1, page.Size, PdfMargins(0.0))

# 將模板繪製到新頁面上
page.Canvas.DrawTemplate(template, PointF(0.0, 0.0))

# 儲存PDF
pdf.SaveToFile("複製PDF頁面.pdf");
pdf.Close()

Python在不同PDF 文件之間複製頁面

也可以將指定頁面從一個PDF文件複製到另一個PDF文件中,具體操作如下:

  1. 使用 LoadFromFile() 方法載入兩個PDF文件;
  2. 獲取文件1中指定頁面,然後使用 CreateTemplate() 方法基於頁面內容建立模板;
  3. 透過 Insert() 方法在文件2中指定索引處插入空白新頁面;
  4. 使用 PdfPageBase.Canvas.DrawTemplate() 方法將模板繪製到新頁面上;
  5. 使用 SaveToFile() 方法儲存結果文件
from spire.pdf.common import *
from spire.pdf import *

# 載入文件1
pdf1 = PdfDocument()
pdf1.LoadFromFile("實驗.pdf")

# 載入文件2
pdf2 = PdfDocument()
pdf2.LoadFromFile("南極洲.pdf")

# 獲取文件1中的第一頁
page = pdf1.Pages[0]

# 基於該頁面內容建立模板
template = page.CreateTemplate()

# 在文件2指定位置處插入空白新頁面
newPage = pdf2.Pages.Insert(0, page.Size, PdfMargins(0.0))

# 將模板繪製到新頁面上
newPage.Canvas.DrawTemplate(template, PointF(0.0, 0.0))

# 儲存PDF
pdf2.SaveToFile("複製頁面到另一PDF.pdf")
pdf2.Close()


生成文件中的紅色水印,可以透過點選以下連結,申請一個月免費授權來去除:

https://www.e-iceblue.cn/misc/temporary-license.html

相關文章