当前位置: 代码网 > it编程>前端脚本>Python > 使用Python实现向同一PDF添加附件与附件注释

使用Python实现向同一PDF添加附件与附件注释

2025年11月03日 Python 我要评论
在文档管理和报表生成中,将相关文件直接嵌入 pdf 可以大大提高信息整合度,让收件人无需额外查找即可访问所有资源。python 结合 spire.pdf,可以轻松实现 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 阅读器中直接查看或提取这些附件。

效果展示

适用场景

  • 发票或报表需要附带原始数据文件。
  • 项目文档需要附带图纸、图片或说明文件。
  • 任何需要将多种资源整合到单一 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() 将注释添加到页面上。

效果展示

适用场景

  • 报告正文中嵌入支持文件,让读者点击即可获取。
  • 教学或培训资料中附加示例文件。
  • 需要对附件做视觉提示而非仅仅嵌入 pdf 时。

4. 总结

通过上述操作,开发者可以轻松实现:

功能类型关键类/方法使用说明
添加附件pdfattachment、attachments.add()将外部文件直接嵌入 pdf
添加附件注释pdfattachmentannotation、annotationswidget.add()在页面上显示附件图标并可点击打开
设置字体与颜色pdftruetypefont、pdfbrushes为页面文本提供美观的显示
保存 pdfsavetofile()保存修改后的 pdf 文件

通过结合附件和注释,pdf 不仅可以承载文本内容,还可以携带完整的支持文件,大大提升文档的完整性和易用性。

到此这篇关于使用python实现向同一pdf添加附件与附件注释的文章就介绍到这了,更多相关python pdf添加附件与附件注释内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com