惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏
B
Blog
小众软件
小众软件
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
L
LangChain Blog
WordPress大学
WordPress大学
罗磊的独立博客
GbyAI
GbyAI
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
美团技术团队
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog

博客园 - E-iceblue

Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化 Python 实现 Excel 转 Markdown,支持工作表、单元格区域和批量处理 为 Excel 工作簿和工作表设置密码保护【Python教程】 Python 实现 Markdown 转 Word、PDF:从转换到页面设置 PDF 无法复制文字怎么办?常见原因分析及解决方法 Python 办公自动化:将 PowerPoint (PPT/PPTX) 转换为 PDF 【全面指南】 使用 Python 在 Excel 中添加页眉页脚(文本/图片/奇偶页差异设置) 使用 Python 实现 PDF 到 HTML 的转换【含代码详解】 Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分 如何使用 Python 快速将 Excel 转换为 XML 文件 Python 办公自动化:Word 文档加密与权限控制实战 在 Python 中快速锁定 Excel 单元格与行列 如何使 PDF 可编辑 - Python 教程详解 将 Excel 表格插入 Word 文档的三种实用方案(Python 自动化) Python 办公自动化:如何轻松调整 Word/PDF 页面大小为 Legal 尺寸 数字签名 vs 电子签名:区别与如何在文件中插入数字签名 Python 教程:快速复制 Excel 工作表 如何对比 Excel 两列数据的不同:从基础操作到 Python 自动化 如何提取 Word 文档中的表格并导出为 Excel(Python 教程) 使用 Python 在 PowerPoint 中添加或移除背景图和背景颜色 在 Java 中使用 Spire.PDF 合并 PDF 文档(含加密与压缩处理) 在 Python 中自动化转化 Markdown 为 HTML 【详细教程】 Python 控制 PDF 页面大小、页边距、页面方向与缩放 Python 办公自动化:快速将 HTML 转换为 PDF 格式 在 Python 中给 PDF 设置背景图或背景色 在 Python 中转换 XML 为 PDF 文档:基础转换与转换设置 在 Python 中对比 Word 文档:自动生成修订报告【教程向】 Excel 删除空白行的 5 种方法 【手动与 Python 自动化】 删除 Excel 表格中的重复行 【4 种实用方法】 从纯文本到精美文档:TXT 转 PDF 的三种高效方案
使用 Python 在 Word 文档中添加或删除文本框
E-iceblue · 2026-06-26 · via 博客园 - E-iceblue

在进行 Word 文档自动化排版时,文本框是一个非常实用的元素。无论是制作精美的杂志侧边栏、高亮的引用名言,还是为报表图表添加独立标注,文本框都能实现不受正文排版限制的独特视觉效果。

本文将介绍如何使用 Spire.Doc for Python 高效处理 Word 中的文本框,包括添加简单的文本框、设置文本框样式和删除无用文本框,帮助大家快速掌握文本框的自动化管理技巧。

Spire.Doc for Python 是一款专业的 Word 文档处理库,支持在 Python 环境中不依赖 Microsoft Word 直接创建、读取、编辑和转换 Word 文档。

  • 下载与安装: 可以通过 PyPI 快速安装,在终端运行以下命令即可:
    pip install Spire.Doc
  • 注:该组件提供免费版,适合用于小型项目或测试。

一、在 Word 中添加简单文本框

首先,我们来看看如何在 Word 文档中添加一个简答的文本框。在 Spire.Doc 的帮助下,我们可以通过在段落中使用 AppendTextBox 方法添加文本框,然后在文本框的正文区域中再次创建段落并填入文字,这样就完成了一个简单文本框的添加。

下面这段代码展示了如何创建一个简单的文本框,并写入“文本框1”字样。

from spire.doc import *
from spire.doc.common import *

# 创建Document对象
doc = Document()
section = doc.AddSection()

# 添加一个基础段落
para = section.AddParagraph()
para.AppendText("以下是自动生成的文本框:\n\n")

# 在段落中添加文本框,指定宽度和高度(单位:磅)
textbox = para.AppendTextBox(150.0, 50.0)

# 向文本框中添加段落和文本
tb_para = textbox.Body.AddParagraph()
text_range = tb_para.AppendText("文本框1")

# 保存文档
doc.SaveToFile("添加文本框.docx", FileFormat.Docx)
doc.Close()
doc.Dispose()

二、设置文本框的样式与位置

通过上一章的代码,我们已经成功在文档中插入了一个文本框,但默认的外观和位置往往无法满足个性化的排版需求。为了让文档看起来更专业,我们需要对文本框的坐标、边框以及背景填充进行调整。

1. 坐标与定位控制

默认情况下,文本框是嵌入在段落中的。如果需要它像悬浮窗一样精准出现在页面的某个角落,可以通过设置其绝对位置以及锚定基准来实现:

# 设置文本框的环绕方式为四周环绕,使其可以自由定位
textbox.Format.TextWrappingStyle = TextWrappingStyle.Square

# 设置水平和垂直定位的参考基准(可选:页面 Page、段落 Paragraph 等)
textbox.Format.HorizontalOrigin = HorizontalOrigin.Page
textbox.Format.VerticalOrigin = VerticalOrigin.Page

# 设置文本框距离基准位置的绝对坐标(X 和 Y)
textbox.Format.HorizontalPosition = 100.0
textbox.Format.VerticalPosition = 150.0

2. 外观与填充

为了让文本框更具视觉辨识度或完美融入背景,我们往往需要对其外观进行修改。在 Spire.Doc 的帮助下,我们既可以通过 FillColor 属性为文本框填充特定的背景色彩,也可以通过将边框或背景设为透明,从而实现纯文字悬浮效果。

# 设置背景填充
textbox.Format.FillColor = Color.get_LightBlue() # 设置为浅蓝色背景
# 如果需要背景完全透明,可以使用:textbox.Format.Filled = False

# 设置边框样式
textbox.Format.LineColor = Color.get_Transparent() # 将边框设为透明(隐藏边框)
# 或者通过设置线宽为0来隐藏:textbox.Format.LineWidth = 0

三、如何使用 Python 快速删除文本框

在处理现有的模板文档时,不可避免地会遇到需要清理、替换或删除无用文本框的情况。在 Spire.Doc 的帮助下,我们可以直接通过文档对象的 doc.TextBoxes 集合来管理文档中的所有文本框,并使用 RemoveAt() 方法删除指定文本框,或使用 Clear() 方法一键清空所有文本框。

下面的示例代码演示了如何移除 Word 文档中的第一个文本框。

from spire.doc import *
from spire.doc.common import *

outputFile = "移除文本框.docx"
inputFile = "F:\\data\\Textbox.docx"

# 创建Document对象并加载文件
doc = Document()
doc.LoadFromFile(inputFile)

# 核心操作:通过索引移除文档中的第一个文本框
doc.TextBoxes.RemoveAt(0)

# 如果需要一键清除文档中的所有文本框,可以取消注释下面这行:
# doc.TextBoxes.Clear()

# 保存文件
doc.SaveToFile(outputFile, FileFormat.Docx)

# 关闭并释放文件
doc.Close()
doc.Dispose()

四、常见问题与解答

在实际运用中,你可能会遇到一些问题,下面我们总结了几种常见的错误:

文本框索引与视觉排版顺序的差异

在调用 doc.TextBoxes.RemoveAt(0) 或遍历 doc.TextBoxes 时,你可能会发现代码删掉的并不是页面左上角的那个文本框,而是右下角的某一个。

这是因为 Word 在底层 XML 树中存储文本框时,是按照文本框的创建的先后顺序或它所绑定的段落先后顺序来排列索引的,而不是根据它们在页面上的空间坐标。

如果你不确定当前文本框的索引,可以通过循环遍历,判断文本框内部的关键字内容(如 textbox.Body.Text)来锁定正确的对象,然后再执行操作。

文本框内容溢出导致文字看不见

有时向文本框写入长文本后,你会发现生成的 Word 文档中后面一大半文字都消失了。这是因为文本框的宽高在创建时是固定的,当写入的字符串长度超过其容纳极限时,Word 默认会隐藏溢出的内容,而不会像普通段落那样自动撑开高度。

如果写入的内容长度不可控,建议将文本分段嵌入,或在样式设置中预留足够大的空间。

总结

本文主要介绍了使用 Spire.Doc for Python 在 Word 文档中添加和删除文本框的操作方法,并讲解了怎样设置文本框位置和背景填充以及边框样式,同时还针对一些常见问题给出了解决方案。相信在浏览完本文后,你可以掌握到自动化高效管理文本框的技能,并轻松创建精美的文档!