python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python PDF添加自定义文本

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

作者:秋天的落叶铺满小路

在文档处理场景中,经常需要对已有 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 核心模块说明

本次实战核心依赖库内常用模块,提前说明核心作用:

二、基础实现:为 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))

注意:画布旋转为全局生效,若需恢复默认角度,可在绘制完成后重置画布变换状态。

四、开发注意事项

五、总结

Spire.PDF for Python 提供了极简且强大的 PDF 文本编辑能力,无需复杂编码即可实现 基础文本添加、多字体适配、自定义颜色、透明文本、旋转文字 等常用功能。相比传统 PDF 处理库,其优势在于 API 通俗易懂、样式支持全面、兼容中英文场景,非常适合 PDF 自动化编辑、批量文档处理、水印生成等开发场景。

到此这篇关于Python基于Spire.PDF实现为PDF文档添加自定义文本的文章就介绍到这了,更多相关Python PDF添加自定义文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文