使用Python實現(xiàn)向同一PDF添加附件與附件注釋
在文檔管理和報表生成中,將相關(guān)文件直接嵌入 PDF 可以大大提高信息整合度,讓收件人無需額外查找即可訪問所有資源。Python 結(jié)合 Spire.PDF,可以輕松實現(xiàn) PDF 附件的添加與注釋功能,無需依賴 Adobe Acrobat。
本文演示如何在 同一 PDF 文件中實現(xiàn) 直接添加附件和添加附件注釋,并說明每個操作的作用和適用場景,幫助你真正理解 PDF 附件處理的邏輯。
本文使用的方法需要用到免費的 Free Spire.PDF for Python,可通過 PyPI 安裝:pip install spire.pdf。
1. 初始化 PDF 文檔
from spire.pdf import *
from spire.pdf.common import *
# PdfDocument 對象創(chuàng)建
doc = PdfDocument()
# 加載已有 PDF 文件
doc.LoadFromFile("Sample.pdf")
操作說明:
PdfDocument是 Spire.PDF 的核心類,用于表示和操作 PDF 文檔。LoadFromFile()可以加載已有 PDF,后續(xù)的附件操作都基于這個文檔進行。
2. 添加外部文件作為 PDF 附件
# 創(chuàng)建 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,使所有相關(guān)文件集中在同一個 PDF 內(nèi)。- 保存后,收件人可在 PDF 閱讀器中直接查看或提取這些附件。
效果展示:

適用場景:
- 發(fā)票或報表需要附帶原始數(shù)據(jù)文件。
- 項目文檔需要附帶圖紙、圖片或說明文件。
- 任何需要將多種資源整合到單一 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)
# 創(chuàng)建 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)
# 設(shè)置注釋屬性
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定義注釋的位置和大小。Color、Icon和Text用于美化和提示操作。AnnotationsWidget.Add()將注釋添加到頁面上。
效果展示:

適用場景:
- 報告正文中嵌入支持文件,讓讀者點擊即可獲取。
- 教學(xué)或培訓(xùn)資料中附加示例文件。
- 需要對附件做視覺提示而非僅僅嵌入 PDF 時。
4. 總結(jié)
通過上述操作,開發(fā)者可以輕松實現(xiàn):
| 功能類型 | 關(guān)鍵類/方法 | 使用說明 |
|---|---|---|
| 添加附件 | PdfAttachment、Attachments.Add() | 將外部文件直接嵌入 PDF |
| 添加附件注釋 | PdfAttachmentAnnotation、AnnotationsWidget.Add() | 在頁面上顯示附件圖標并可點擊打開 |
| 設(shè)置字體與顏色 | PdfTrueTypeFont、PdfBrushes | 為頁面文本提供美觀的顯示 |
| 保存 PDF | SaveToFile() | 保存修改后的 PDF 文件 |
通過結(jié)合附件和注釋,PDF 不僅可以承載文本內(nèi)容,還可以攜帶完整的支持文件,大大提升文檔的完整性和易用性。
到此這篇關(guān)于使用Python實現(xiàn)向同一PDF添加附件與附件注釋的文章就介紹到這了,更多相關(guān)Python PDF添加附件與附件注釋內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法
這篇文章主要介紹了python實現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法,涉及Python中l(wèi)ist方法的使用技巧,需要的朋友可以參考下2015-05-05
Python+matplotlib實現(xiàn)繪制等高線圖示例詳解
在matplotlib.pyplot中除了可以繪制常規(guī)圖表如折線、柱狀、散點等,還可以繪制常用在地理上的平面展示地型的等高線圖,本文主要為大家介紹了如何利用matplotlib繪制等高線圖,需要的可以參考一下2021-12-12
Python爬蟲之自動爬取某車之家各車銷售數(shù)據(jù)
應(yīng)朋友要求,幫忙采集某車之家的一些汽車品牌的銷售數(shù)據(jù),包含購車時間、車型、經(jīng)銷商、裸車價等一類信息. 今天我們就簡單演示一下采集過程,大家可以根據(jù)自己的興趣進行拓展.比如采集自己喜歡的品牌汽車數(shù)據(jù)進行統(tǒng)計分析等等,需要的朋友可以參考下2021-06-06
使用Python進行GRPC和Dubbo協(xié)議的高級測試
GRPC(Google Remote Procedure Call)是一種高性能、開源的遠程過程調(diào)用(RPC)框架,Dubbo是一種高性能的分布式服務(wù)框架,常用于構(gòu)建大規(guī)模的微服務(wù)架構(gòu),本文我們就來看看如何使用Python對二者進行測試吧2025-06-06
pycharm的console輸入實現(xiàn)換行的方法
今天小編就為大家分享一篇pycharm的console輸入實現(xiàn)換行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

