在文档处理场景中,经常需要对已有 pdf 文档追加文本内容,比如补充备注、标注说明、添加水印文字、补充页码注释等。python 拥有丰富的 pdf 处理库,其中 free spire.pdf for python 凭借简洁的 api、完善的样式支持、无需依赖本地 adobe 组件的优势,能够高效实现 pdf 文本编辑,支持自定义字体、颜色、透明度、文字旋转等个性化效果。

本文将客观、完整地讲解如何使用 free spire.pdf 实现 pdf 文本添加,从基础落地代码到进阶样式定制,适配各类 pdf 文本编辑需求。
一、环境准备
1.1 库安装
首先通过 pip 安装 free spire.pdf 依赖库,执行以下命令:
pip install spire-pdf-free
该库支持 python3.7 及以上版本,兼容 windows、mac、linux 多平台,安装后可直接调用 api 进行 pdf 编辑操作。
1.2 核心模块说明
本次实战核心依赖库内常用模块,提前说明核心作用:
- pdfdocument :pdf 文档核心操作类,用于加载、保存、关闭文档
- 字体相关类 :pdfcjkstandardfont、pdftruetypefont、pdffont,分别适配中文字体、系统自定义字体、内置标准字体
- pdfsolidbrush、pdfrgbcolor :用于设置文本绘制颜色、画刷样式
- pointf :定义文本在 pdf 页面中的绘制坐标位置
二、基础实现:为 pdf 添加普通文本
基础场景实现加载已有 pdf 文件,在指定页面、指定坐标位置添加自定义文本,同时配置基础字体样式、颜色。以下是完整可运行代码,包含详细注释。
from spire.pdf import pdfdocument, pdffontstyle, pdfsolidbrush, pdfrgbcolor, pointf, pdfcjkstandardfont, pdfcjkfontfamily
# 初始化pdf文档对象并加载本地pdf文件
pdf = pdfdocument()
pdf.loadfromfile("input.pdf")
# 获取pdf第一页(索引从0开始)
page = pdf.pages.get_item(0)
# 配置中文字体:蒙纳黑体、16号字号、加粗样式
font = pdfcjkstandardfont(pdfcjkfontfamily.monotypeheimedium, 16.0, pdffontstyle.bold)
# 创建画刷,设置文本颜色:浅橘色
brush = pdfsolidbrush(pdfrgbcolor(255,200, 180))
# 定义文本绘制坐标(单位:磅)
location = pointf(72.0, 300.0)
# 在指定位置绘制自定义文本
page.canvas.drawstring("这是添加的新文本。", font, brush, location)
# 保存修改后的pdf文件
pdf.savetofile("添加文本.pdf")
# 关闭文档,释放资源
pdf.close()代码核心逻辑 :加载文档 → 选中目标页面 → 配置字体与颜色样式 → 定义绘制位置 → 绘制文本 → 保存并释放资源,流程简洁清晰,无冗余操作。
三、进阶样式定制
spire.pdf 支持丰富的文本样式拓展,可灵活适配不同场景的排版需求,包括多类型字体、自定义颜色、文字透明度、文字旋转效果等,下面逐一讲解实战用法。
3.1 多字体与自定义颜色配置
库中提供三种主流字体创建方式,分别适配中文场景、系统第三方字体、pdf 内置标准字体,同时支持 rgb 任意自定义颜色。
# 方式1:调用系统truetype字体(calibri),斜体、字号16,嵌入字体到pdf
font1 = pdftruetypefont("calibri", 16.0, pdffontstyle.italic, true)
# 方式2:调用pdf内置times roman标准字体,斜体、字号16
font2 = pdffont(pdffontfamily.timesroman, 16.0, pdffontstyle.italic)
# 自定义森林绿色文本画刷
brush = pdfsolidbrush(pdfrgbcolor(34, 139, 34))其中 嵌入字体 可保证 pdf 在任意设备打开时,字体样式不会错乱,适合需要跨设备展示的文档。
3.2 文本透明度效果设置
通过画布的 settransparency 方法可实现文字透明效果,常用于制作轻量化水印、备注文本,透明度参数范围 0.0~1.0,0.0 为完全透明,1.0 为完全不透明。
# 设置文本半透明(透明度0.4)
page.canvas.settransparency(0.4)
# 绘制半透明文本
page.canvas.drawstring("半透明文字", font, brush, pointf(100.0, 100.0))3.3 文字旋转效果实现
支持通过画布旋转画布坐标系,实现任意角度的倾斜文字,常用于制作斜向水印、侧边标注文本,逆时针旋转参数为负数,顺时针为正数。
# 画布逆时针旋转45度
page.canvas.rotatetransform(-45)
# 绘制旋转后的文本
page.canvas.drawstring("旋转后的文字", font, brush, pointf(100.0, 100.0))注意:画布旋转为全局生效,若需恢复默认角度,可在绘制完成后重置画布变换状态。
四、开发注意事项
- 资源释放 :文档操作完成后必须调用
close()方法,释放文件资源,避免文件占用、内存溢出问题 - 坐标适配 :pdf 坐标单位为磅,页面左上角为坐标原点,可根据页面尺寸灵活调整绘制位置
- 中文适配 :中文文本优先使用
pdfcjkstandardfont或系统中文字体,避免乱码、字体缺失问题 - 样式叠加 :透明度、旋转、字体样式可自由组合,实现复杂的文本展示效果
五、总结
spire.pdf for python 提供了极简且强大的 pdf 文本编辑能力,无需复杂编码即可实现 基础文本添加、多字体适配、自定义颜色、透明文本、旋转文字 等常用功能。相比传统 pdf 处理库,其优势在于 api 通俗易懂、样式支持全面、兼容中英文场景,非常适合 pdf 自动化编辑、批量文档处理、水印生成等开发场景。
到此这篇关于python基于spire.pdf实现为pdf文档添加自定义文本的文章就介绍到这了,更多相关python pdf添加自定义文本内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论