チュートリアル

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

チュートリアル»Python»Spire.PDF for Python»添付ファイル»シンプルなPythonコードでPDF文書に添付ファイルを追加
2025-10-31

シンプルなPythonコードでPDF文書に添付ファイルを追加

PDF に補足資料を直接組み込むことで、関連情報を 1 つのファイルにまとめられ、整理、共有、アーカイブが容易になります。この機能により、ユーザーは補助的なドキュメント、画像、マルチメディア要素をシームレスに共有でき、別々のファイル転送や外部リンクを必要としません。コミュニケーションの効率化、作業効率の向上、受信者が必要な資料に便利にアクセスできることを実現します。本記事では、Python と Spire.PDF for 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のダウンロードページから直接ダウンロードして、プロジェクトに追加することもできます。

基礎知識

PDF には一般的に 2 種類の添付方法があります。すなわち、ドキュメントレベルの添付と注釈添付です。Spire.PDF for Python は両方に対応しています。以下の表に両者の違いをまとめます。

添付タイプ 表すクラス 定義
ドキュメントレベルの添付 PdfAttachment クラス PDF のドキュメントレベルに添付されたファイルはページ上には表示されませんが、PDF リーダーの「添付ファイル」パネルで確認できます。
注釈添付 PdfAnnotationAttachment クラス 注釈として添付されたファイルはページ上または「添付ファイル」パネルで確認可能です。注釈添付はページ上にクリップアイコンとして表示され、クリックするとファイルを開けます。

Python で PDF ドキュメントにファイルを添付する

ドキュメントレベルで PDF にファイルを添付するには、まず外部ファイルに基づいて PdfAttachment オブジェクトを作成し、PdfDocument.Attachments.Add() メソッドを使って PDF ドキュメントに追加します。詳細な手順は以下の通りです。

  1. PdfDocument オブジェクトを作成します。
  2. PdfDocument.LoadFromFile() メソッドで PDF を読み込みます。
  3. 外部ファイルに基づいて PdfAttachment オブジェクトを作成します。
  4. PdfDocument.Attachments.Add() メソッドで添付ファイルを追加します。
  5. PdfDocument.SaveToFile() メソッドで別名 PDF として保存します。
from spire.pdf import *
from spire.pdf.common import *

# PdfDocument オブジェクトを作成
doc = PdfDocument()

# サンプル PDF を読み込む
doc.LoadFromFile("Sample.pdf")

# 外部ファイルに基づき PdfAttachment オブジェクトを作成
attachment_one = PdfAttachment("Orders.xlsx")
attachment_two = PdfAttachment("Logo.png")

# PDF に添付ファイルを追加
doc.Attachments.Add(attachment_one)
doc.Attachments.Add(attachment_two)

# ファイルとして保存
doc.SaveToFile("output/DocumentAttachment.pdf")

出力 PDF のプレビューはこちらです。

Add Document Attachment to PDF with Python

おすすめ参考: Python で PDF に画像を追加する方法

Python で PDF に注釈としてファイルを添付する

注釈添付は PdfAttachmentAnnotation クラスで表されます。このクラスのインスタンスを作成し、境界、フラグ、テキストなどの属性を設定してから、PdfPageBase.AnnotationsWidget.Add() メソッドで指定ページに追加します。

Spire.PDF for Python を使用して注釈としてファイルを添付する手順は以下の通りです:

  1. PdfDocument オブジェクトを作成します。
  2. PdfDocument.LoadFromFile() メソッドで PDF を読み込みます。
  3. PdfDocument.Pages[] プロパティで注釈を追加するページを取得します。
  4. 外部ファイルに基づき PdfAttachmentAnnotation オブジェクトを作成します。
  5. PdfPageBase.AnnotationsWidget.Add() メソッドでページに添付注釈を追加します。
  6. PdfDocument.SaveToFile() メソッドで別名 PDF として保存します。
from spire.pdf import *
from spire.pdf.common import *

# PdfDocument オブジェクトを作成
doc = PdfDocument()

# サンプル PDF を読み込む
doc.LoadFromFile("Sample.pdf")

# 特定のページを取得
page = doc.Pages[1]

# PDF に文字列を描画
str = "こちらがレポートです:"
font = PdfTrueTypeFont("Yu Gothic UI", 16.0, PdfFontStyle.Bold, True)
x = 50.0
y = doc.Pages[0].ActualSize.Height - 30.0
page.Canvas.DrawString(str, font, PdfBrushes.get_Blue(), x, y)

# 外部ファイルに基づき PdfAttachmentAnnotation オブジェクトを作成
data = Stream("Report.docx")
size = font.MeasureString(str)
bounds = RectangleF((x + size.Width + 5.0), y, 10.0, 15.0)
annotation = PdfAttachmentAnnotation(bounds, "Report.docx", data)

# 注釈の色、フラグ、アイコン、テキストを設定
annotation.Color = PdfRGBColor(Color.get_Blue())
annotation.Flags = PdfAnnotationFlags.Default
annotation.Icon = PdfAttachmentIcon.Graph
annotation.Text = "ファイルを開くにはクリック"

# 添付注釈を PDF に追加
page.AnnotationsWidget.Add(annotation)

# ファイルとして保存
doc.SaveToFile("output/AnnotationAttachment.pdf")

出力 PDF のプレビューはこちらです。

Add Annotation Attachment to PDF with Python

詳細参考: Python で PDF ページにアクションを追加する方法

一時ライセンスの申請

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

Read 10 times