博客 / 詳情

返回

使用 Python 向 PDF 添加附件與附件註釋

在文檔管理和報表生成中,將相關文件直接嵌入 PDF 可以大大提高信息整合度,讓收件人無需額外查找即可訪問所有資源。Python 結合 Spire.PDF,可以輕鬆實現 PDF 附件的添加與註釋功能,無需依賴 Adobe Acrobat。

本文演示如何在 同一 PDF 文件中實現 直接添加附件和添加附件註釋,並説明每個操作的作用和適用場景,幫助你真正理解 PDF 附件處理的邏輯。

本文使用的方法需要用到免費的 Free Spire.PDF for Python,可通過 PyPI 安裝:pip install spire.pdf


1. 初始化 PDF 文檔

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

# PdfDocument 對象創建
doc = PdfDocument()

# 加載已有 PDF 文件
doc.LoadFromFile("Sample.pdf")

操作説明

  • PdfDocument 是 Spire.PDF 的核心類,用於表示和操作 PDF 文檔。
  • LoadFromFile() 可以加載已有 PDF,後續的附件操作都基於這個文檔進行。

2. 添加外部文件作為 PDF 附件

# 創建 PdfAttachment 對象
attachment_one = PdfAttachment("Antivirus Software.pdf")
attachment_two = PdfAttachment("Steps for Backup.png")

# 將附件添加到 PDF
doc.Attachments.Add(attachment_one)
doc.Attachments.Add(attachment_two)

# 保存文件
doc.SaveToFile("output/DocumentAttachment.pdf")

使用説明

  • PdfAttachment 用於封裝需要添加的文件,包括 Excel、圖片或其他文檔。
  • Attachments.Add() 將附件嵌入 PDF,使所有相關文件集中在同一個 PDF 內。
  • 保存後,收件人可在 PDF 閲讀器中直接查看或提取這些附件。

效果展示

Python添加文檔附件到PDF

適用場景

  • 發票或報表需要附帶原始數據文件。
  • 項目文檔需要附帶圖紙、圖片或説明文件。
  • 任何需要將多種資源整合到單一 PDF 的場景。

3. 在 PDF 頁面添加附件註釋

# 獲取特定頁面
page = doc.Pages[1]

# 繪製文本
str = "This is the document: "
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("G:/Documents/Update System.docx")
size = font.MeasureString(str)
bounds = RectangleF((x + size.Width + 5.0), y, 10.0, 15.0)
annotation = PdfAttachmentAnnotation(bounds, "Update System.docx", data)

# 設置註釋屬性
annotation.Color = PdfRGBColor(Color.get_Blue())
annotation.Flags = PdfAnnotationFlags.Default
annotation.Icon = PdfAttachmentIcon.Graph
annotation.Text = "Click to open"

# 添加到 PDF 頁面
page.AnnotationsWidget.Add(annotation)

# 保存文件
doc.SaveToFile("output/AnnotationAttachment.pdf")

操作説明

  • PdfAttachmentAnnotation 可以在 PDF 頁面上顯示附件圖標,用户點擊即可打開附件。
  • bounds 定義註釋的位置和大小。
  • ColorIconText 用於美化和提示操作。
  • AnnotationsWidget.Add() 將註釋添加到頁面上。

效果展示

Python添加註釋附件到PDF

適用場景

  • 報告正文中嵌入支持文件,讓讀者點擊即可獲取。
  • 教學或培訓資料中附加示例文件。
  • 需要對附件做視覺提示而非僅僅嵌入 PDF 時。

4. 總結

通過上述操作,開發者可以輕鬆實現:

功能類型 關鍵類/方法 使用説明
添加附件 PdfAttachmentAttachments.Add() 將外部文件直接嵌入 PDF
添加附件註釋 PdfAttachmentAnnotationAnnotationsWidget.Add() 在頁面上顯示附件圖標並可點擊打開
設置字體與顏色 PdfTrueTypeFontPdfBrushes 為頁面文本提供美觀的顯示
保存 PDF SaveToFile() 保存修改後的 PDF 文件
通過結合附件和註釋,PDF 不僅可以承載文本內容,還可以攜帶完整的支持文件,大大提升文檔的完整性和易用性。
更多 PDF 文檔操作技巧,請前往 Spire.PDF for Python 官方教程查看。
user avatar lvweifu 頭像 debuginn 頭像
2 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.