チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.PDF for Python»画像»PythonでPDF文書に画像を追加、置換、または削除する方法
2025-08-15

PythonでPDF文書に画像を追加、置換、または削除する方法

PDF文書はテキストだけでなく、画像も重要な要素として情報伝達に大きく貢献します。PDF内の画像を追加・置換・削除できれば、ビジュアル面の向上や古い画像の更新、コンテンツ内容の修正などに役立ちます。
本記事では、Spire.PDF for Python を使用して、PythonでPDF文書内の画像を追加、置換、削除する方法を解説します。

目次

Spire.PDF for Pythonのインストール

この機能を使用するには、Spire.PDF for Pythonとplum-dispatch v1.7.4が必要です。Windows環境では、以下のpipコマンドで簡単にインストールできます。

pip install Spire.PDF

または、Spire.PDF for Pythonのダウンロードページ から直接ダウンロードして、プロジェクトに追加することもできます。

PythonでPDF文書に画像を追加する

PDFページに画像を追加するには、PdfPage.Canvas.DrawImage() メソッドを使用します。手順は以下の通りです。

  • PdfDocument オブジェクトを作成する
  • PdfDocument.Pages.Add() メソッドでページを追加する
  • PdfImage.FromFile() メソッドで画像を読み込む
  • PdfPageBase.Canvas.DrawImage() メソッドでページ上に画像を描画する
  • PdfDocument.SaveToFile() メソッドで文書を保存する

コード例

from spire.pdf import *

# PdfDocumentインスタンスを作成
doc = PdfDocument()

# ページ余白を設定
doc.PageSettings.SetMargins(30.0, 30.0, 30.0, 30.0)

# ページを追加
page = doc.Pages.Add()

# 画像を読み込み
image = PdfImage.FromFile('C:/Users/Administrator/Desktop/logo.png')

# 文書内の画像サイズを指定
width = image.Width * 0.70
height = image.Height * 0.70

# 画像を描画する座標を指定
x = 10.0
y = 30.0

# ページ上に画像を描画
page.Canvas.DrawImage(image, x, y, width, height)

# PDFを保存
doc.SaveToFile("output/AddImage.pdf", FileFormat.PDF)

出力結果のPDFファイル:

PythonでPDFに画像を追加

PythonでPDF文書内の画像を置換する

Spire.PDF for Pythonには、特定ページ内の画像を取得・操作できる PdfImageHelper クラスがあります。画像を新しいものに置き換えるには、PdfImageHelper.ReplaceImage() メソッドを使用します。手順は以下の通りです。

  • PdfDocument オブジェクトを作成
  • PdfDocument.LoadFromFile() メソッドでPDFを読み込む
  • PdfDocument.Pages[index] で特定のページを取得
  • PdfImage.FromFile() で新しい画像を読み込む
  • PdfImageHelper を作成し、PdfImageHelper.GetImagesInfo() でページ内の画像情報を取得
  • PdfImageHelper.ReplaceImage() で既存の画像を新しい画像に置換
  • PdfDocument.SaveToFile() で保存

コード例

from spire.pdf import *

# PdfDocumentインスタンスを作成
doc = PdfDocument()

# PDFを読み込み
doc.LoadFromFile('C:/Users/Administrator/Desktop/input.pdf')

# 1ページ目を取得
page = doc.Pages[0]

# 新しい画像を読み込み
image = PdfImage.FromFile('C:/Users/Administrator/Desktop/newImage.png')

# PdfImageHelperインスタンスを作成
imageHelper = PdfImageHelper()

# ページ内の画像情報を取得
imageInfo = imageHelper.GetImagesInfo(page)

# 最初の画像を新しい画像に置換
imageHelper.ReplaceImage(imageInfo[0], image)

# PDFを保存
doc.SaveToFile("output/ReplaceImage.pdf", FileFormat.PDF)

出力結果のPDFファイル:

PythonでPDFの画像を置換

PythonでPDF文書内の画像を削除する

特定ページの画像を削除するには、PdfPageBase.DeleteImage(index) メソッドを使用します。手順は以下の通りです。

  • PdfDocument オブジェクトを作成
  • PdfDocument.LoadFromFile() メソッドでPDFを読み込む
  • PdfDocument.Pages[index] でページを取得
  • PdfPageBase.DeleteImage(index) メソッドで指定したインデックスの画像を削除
  • PdfDocument.SaveToFile() で保存

コード例

from spire.pdf.common import *
from spire.pdf import *

# PdfDocumentインスタンスを作成
doc = PdfDocument()

# PDFを読み込み
doc.LoadFromFile('C:/Users/Administrator/Desktop/input.pdf')

# 1ページ目を取得
page = doc.Pages[0]

# 最初の画像を削除
page.DeleteImage(0)

# PDFを保存
doc.SaveToFile('output/DeleteImage.pdf', FileFormat.PDF)

一時ライセンスの申請

生成されたPDFから評価用メッセージを削除したい場合や、機能制限を解除したい場合は、30日間の試用ライセンスを申請してください。

Read 12 times