Python基于Spire.PDF实现为PDF文档添加自定义文本

 更新时间:2026年09月16日 11:15:48   作者:秋天的落叶铺满小路  
在文档处理场景中,经常需要对已有 PDF 文档追加文本内容,本文主要介绍了如何使用Free Spire.PDF for Python高效实现 PDF 文本编辑,文中的示例代码讲解详细,有需要的小伙伴可以了解下

在文档处理场景中,经常需要对已有 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添加自定义文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决python执行较大excel文件openpyxl慢问题

    解决python执行较大excel文件openpyxl慢问题

    这篇文章主要介绍了解决python执行较大excel文件openpyxl慢问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Linux升级或者切换python版本实现方式

    Linux升级或者切换python版本实现方式

    本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选择
    2025-08-08
  • pytorch 实现删除tensor中的指定行列

    pytorch 实现删除tensor中的指定行列

    今天小编就为大家分享一篇pytorch 实现删除tensor中的指定行列,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现遍历目录的两张方法总结

    Python实现遍历目录的两张方法总结

    我们有时想直接查看文件夹里的所有文件,但使用正常的方法太麻烦了,于是本文开发出了两个python程序,可以遍历目录,有需要的小伙伴可以参考下
    2024-02-02
  • Python表示当前时间的方法合集

    Python表示当前时间的方法合集

    在 Python 中获取当前时间是许多与时间有关的操作的一个很好的起点。一个非常重要的用例是创建时间戳。在本教程中,你将学习如何用 datetime 模块获取、显示和格式化当前时间
    2023-01-01
  • pandas dataframe按照列名给列排序三种方法

    pandas dataframe按照列名给列排序三种方法

    这篇文章主要给大家介绍了关于pandas dataframe按照列名给列排序的三种方法,在进行数据分析操作时,经常需要对数据按照某行某列排序,或者按照多行多列排序,以及按照索引值排序等等,需要的朋友可以参考下
    2023-07-07
  • python 类的继承 实例方法.静态方法.类方法的代码解析

    python 类的继承 实例方法.静态方法.类方法的代码解析

    这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python结合OpenCV和Pyzbar实现实时摄像头识别二维码

    Python结合OpenCV和Pyzbar实现实时摄像头识别二维码

    这篇文章主要为大家详细介绍了如何使用Python编程语言结合OpenCV和Pyzbar库来实时摄像头识别二维码,文中的示例代码讲解详细,需要的可以参考下
    2024-01-01
  • 详解Django中六个常用的自定义装饰器

    详解Django中六个常用的自定义装饰器

    这篇文章主要介绍了详解Django中六个常用的自定义装饰器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python编程之string相关操作实例详解

    Python编程之string相关操作实例详解

    这篇文章主要介绍了Python编程之string相关操作,结合实例形式分析了Python字符串相关函数与常见操作技巧,需要的朋友可以参考下
    2017-07-07

最新评论