当前位置: 首页 > news >正文

使用 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为页面文本提供美观的显示
保存 PDFSaveToFile()保存修改后的 PDF 文件

通过结合附件和注释,PDF 不仅可以承载文本内容,还可以携带完整的支持文件,大大提升文档的完整性和易用性。
更多 PDF 文档操作技巧,请前往 Spire.PDF for Python 官方教程查看。

http://www.dtcms.com/a/554149.html

相关文章:

  • 【开题答辩全过程】以 基于java的社区疫情防控系统设计与实现 为例,包含答辩的问题和答案
  • Android ble和经典蓝牙
  • 海珠区专业做网站公司wordpress基于谷歌框架
  • 上海网站建设制作跨境电商多平台运营
  • 军队文职资源合集
  • 堆叠和级联的详细描述
  • (125页PPT)IBM流程架构方法论及案例(附下载方式)
  • 基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究
  • 小米铁蛋电机1代驱动开发
  • 甘肃省网站备案公司网站建设设计公司哪家好
  • html5 网站建设方案中国排名高的购物网站
  • 【更新至 135 个】第一性原理计算 + 数据处理程序
  • frp+公网服务器实现内网穿透方案
  • 变量与可变性:Rust中的数据绑定
  • OpenCV:BGR/RGB转I420(颜色失真),再转NV12
  • 社区网站模板全屋设计装修效果图
  • 404-Spring AI Alibaba Graph 可观测性 Langfuse 功能完整案例
  • 济南住房和城乡建设厅网站小程序制作流程及步骤
  • 测试分类介绍
  • 上海川沙网站建设goood 谷德设计网官网
  • 做网站买什么笔记本好wordpress 关闭自动保存
  • 用jsp做网站登录界面模板代理记账公司哪家好
  • 如何在 Bash 命令中执行命令 (嵌套命令) ?
  • Java调用DeepSeek-R1大模型实现商品订单信息提取
  • postgresql 高频使用语句
  • tiago moveit环境配置过程
  • 怎么做婚庆网站平台京东seo是什么意思
  • 认识linux -- 编辑器vim以及编译器gcc/g++和Makefile文件
  • 金仓KES RWC:高并发写入场景下的数据库优化解决方案
  • RabbitMQ详细介绍