最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python實現(xiàn)向同一PDF添加附件與附件注釋

 更新時間:2025年11月03日 09:07:10   作者:Eiceblue  
在文檔管理和報表生成中,將相關(guān)文件直接嵌入 PDF 可以大大提高信息整合度,讓收件人無需額外查找即可訪問所有資源,本文演示如何在 同一 PDF 文件中實現(xiàn) 直接添加附件和添加附件注釋,希望對大家有所幫助

在文檔管理和報表生成中,將相關(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、IconText 用于美化和提示操作。
  • AnnotationsWidget.Add() 將注釋添加到頁面上。

效果展示

適用場景

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

4. 總結(jié)

通過上述操作,開發(fā)者可以輕松實現(xiàn):

功能類型關(guān)鍵類/方法使用說明
添加附件PdfAttachment、Attachments.Add()將外部文件直接嵌入 PDF
添加附件注釋PdfAttachmentAnnotation、AnnotationsWidget.Add()在頁面上顯示附件圖標并可點擊打開
設(shè)置字體與顏色PdfTrueTypeFont、PdfBrushes為頁面文本提供美觀的顯示
保存 PDFSaveToFile()保存修改后的 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實現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法,涉及Python中l(wèi)ist方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python中類的繼承代碼實例

    Python中類的繼承代碼實例

    這篇文章主要介紹了Python中類的繼承代碼實例,本文直接給出代碼及運行效果,需要的朋友可以參考下
    2014-10-10
  • python爬蟲之爬取谷歌趨勢數(shù)據(jù)

    python爬蟲之爬取谷歌趨勢數(shù)據(jù)

    這篇文章主要介紹了python爬蟲之爬取谷歌趨勢數(shù)據(jù),文中有非常詳細的代碼示例,對正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • pandas?dataframe寫入到hive方式

    pandas?dataframe寫入到hive方式

    這篇文章主要介紹了pandas?dataframe寫入到hive方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python+matplotlib實現(xiàn)繪制等高線圖示例詳解

    Python+matplotlib實現(xiàn)繪制等高線圖示例詳解

    在matplotlib.pyplot中除了可以繪制常規(guī)圖表如折線、柱狀、散點等,還可以繪制常用在地理上的平面展示地型的等高線圖,本文主要為大家介紹了如何利用matplotlib繪制等高線圖,需要的可以參考一下
    2021-12-12
  • Python爬蟲之自動爬取某車之家各車銷售數(shù)據(jù)

    Python爬蟲之自動爬取某車之家各車銷售數(shù)據(jù)

    應(yīng)朋友要求,幫忙采集某車之家的一些汽車品牌的銷售數(shù)據(jù),包含購車時間、車型、經(jīng)銷商、裸車價等一類信息. 今天我們就簡單演示一下采集過程,大家可以根據(jù)自己的興趣進行拓展.比如采集自己喜歡的品牌汽車數(shù)據(jù)進行統(tǒng)計分析等等,需要的朋友可以參考下
    2021-06-06
  • Python 實例進階之預(yù)測房價走勢

    Python 實例進階之預(yù)測房價走勢

    買房應(yīng)該是大多數(shù)都會要面臨的一個選擇,當(dāng)前經(jīng)濟和政策背景下,未來房價會漲還是跌?這是很多人都關(guān)心的一個話題。今天分享的這篇文章,以波士頓的房地產(chǎn)市場為例,根據(jù)低收入人群比例、老師學(xué)生數(shù)量等特征,利用 Python 進行了預(yù)測,給大家做一個參考
    2021-11-11
  • pip下載安裝時使用國內(nèi)源配置方式

    pip下載安裝時使用國內(nèi)源配置方式

    這篇文章主要介紹了pip下載安裝時使用國內(nèi)源配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-04-04
  • 使用Python進行GRPC和Dubbo協(xié)議的高級測試

    使用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)換行的方法

    今天小編就為大家分享一篇pycharm的console輸入實現(xiàn)換行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論

湖口县| 沅江市| 石渠县| 泗水县| 中卫市| 富裕县| 辰溪县| 康保县| 扶余县| 当阳市| 什邡市| 牟定县| 临洮县| 扎赉特旗| 乐平市| 江北区| 商洛市| 乌兰察布市| 厦门市| 烟台市| 大丰市| 东阳市| 丰县| 铜鼓县| 内乡县| 宁海县| 西乌珠穆沁旗| 拉孜县| 天全县| 抚宁县| 巫山县| 菏泽市| 中卫市| 莲花县| 隆德县| 平阳县| 仁布县| 肥西县| 特克斯县| 聂拉木县| 全椒县|