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