Python 在PDF中新增、替換、或刪除圖片

E-iceblue發表於2024-07-29

PDF檔案中的圖片可以豐富文件內容,提升使用者的閱讀體驗。除了在PDF中新增圖片外,有時也需要替換或刪除其中的圖片,以改進視覺效果或更新資訊。本文將提供以下三個示例,介紹如何使用Python 操作PDF檔案中的圖片:

  1. Python 在PDF中新增圖片
  2. Python 替換PDF中的圖片
  3. Python 刪除PDF中的圖片

首先,我們需要安裝一個名為 Spire.PDF for Python 的Python庫,它可以用於處理PDF檔案。可以使用pip來安裝該庫:

pip install Spire.PDF

示例1:使用Python在PDF中新增圖片

Spire.PDF for Python庫提供了 PdfPageBase.Canvas.DrawImage() 方法,可用於在PDF頁面的指定座標處繪製載入的圖片。實現程式碼如下:

from spire.pdf.common import *
from spire.pdf import *
 
# 建立PdfDocument物件
pdf = PdfDocument()
 
# 新增一頁
page = pdf.Pages.Add()
 
# 載入一張圖片
image = PdfImage.FromFile("圖片1.jpeg")
 
# 指定圖片尺寸
width = image.Width * 0.70
height = image.Height * 0.70
 
# 指定圖片所在的XY座標
x = 60.0
y = 30.0
 
# 將圖片繪製在頁面指定位置
page.Canvas.DrawImage(image, x, y, width, height)
 
# 儲存PDF檔案
pdf.SaveToFile("PDF新增圖片.pdf", FileFormat.PDF)

生成檔案:

示例2:使用Python替換PDF中的圖片

要用新圖片替換PDF中的圖片,可以使用 PdfPageBase.ReplaceImage() 方法。實現程式碼如下:

from spire.pdf.common import *
from spire.pdf import *
 
# 載入PDF檔案
pdf = PdfDocument()
pdf.LoadFromFile("PDF新增圖片.pdf")
 
# 獲取第一頁
page = pdf.Pages[0]
 
# 載入一張圖片
image = PdfImage.FromFile("圖片2.png")
 
# 獲取頁面中的圖片資訊
imageInfo = page.ImagesInfo
 
# 用載入的新圖片替換頁面中第一張圖片
page.ReplaceImage(imageInfo[0].Index, image)
 
# 儲存PDF檔案
pdf.SaveToFile("替換圖片.pdf", FileFormat.PDF)

效果圖:

示例3: 使用Python刪除PDF中的圖片

要刪除指定的圖片可以使用 PdfPageBase.DeleteImage(index) 方法。 實現程式碼如下:

from spire.pdf.common import *
from spire.pdf import *
 
# 載入PDF檔案
pdf = PdfDocument()
pdf.LoadFromFile("PDF新增圖片.pdf")
 
# 獲取第一頁
page = pdf.Pages[0]
 
# 刪除該頁中的第一張圖片
page.DeleteImage(0)
 
# 儲存PDF檔案
pdf.SaveToFile("刪除圖片.pdf", FileFormat.PDF)

Spire.PDF for Python庫提供了相應的介面來新增、替換、刪除PDF圖片,透過執行上面3段示例程式碼即可實現對應的操作。如想了解更多Python處理PDF文件的示例,可檢視:https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html

去除紅色水印 -- 點選申請試用授權

相關文章