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 ドキュメントに追加します。詳細な手順は以下の通りです。
- PdfDocument オブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドで PDF を読み込みます。
- 外部ファイルに基づいて PdfAttachment オブジェクトを作成します。
- PdfDocument.Attachments.Add() メソッドで添付ファイルを追加します。
- 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 のプレビューはこちらです。

おすすめ参考: Python で PDF に画像を追加する方法
Python で PDF に注釈としてファイルを添付する
注釈添付は PdfAttachmentAnnotation クラスで表されます。このクラスのインスタンスを作成し、境界、フラグ、テキストなどの属性を設定してから、PdfPageBase.AnnotationsWidget.Add() メソッドで指定ページに追加します。
Spire.PDF for Python を使用して注釈としてファイルを添付する手順は以下の通りです:
- PdfDocument オブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドで PDF を読み込みます。
- PdfDocument.Pages[] プロパティで注釈を追加するページを取得します。
- 外部ファイルに基づき PdfAttachmentAnnotation オブジェクトを作成します。
- PdfPageBase.AnnotationsWidget.Add() メソッドでページに添付注釈を追加します。
- 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 のプレビューはこちらです。

詳細参考: Python で PDF ページにアクションを追加する方法
一時ライセンスの申請
生成されたドキュメントから評価メッセージを削除したり、機能制限を解除したい場合は、30 日間の試用ライセンスを申請してください。
 
	    
	  	  





