在 Word 中,文本框是指一种可移动、可调大小的文字或图形容器。使用文本框,可以在一页上放置数个文字块,或使文字按与文档中其他文字不同的方向排列。您可以设置文本框在 Word 中的位置与样式,来实现不同的排版效果。在这篇文章中,我们将探讨如何使用 Spire.Doc for Python 在 Word 中添加、删除文本框。
安装 Spire.Doc for Python
本教程需要 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Doc for Python
Python 在 Word 中添加文本框
在 Word 中,Textbox 属于 段落(Paragrapgh),因此您可以使用 Paragraph.AppendTextBox() 方法将文本框添加到指定的段落。然后向文本框内插入想要填充的内容,比如文本、表格、图片等,最后设置文本框的环绕方式以及相关属性。使用 Spire.Doc for Python 创建文本框的详细步骤如下:
- 创建一个 Document 对象,并通过 Document.LoadFromFile() 加载文档。
- 通过 Document.Sections.get_Item() 获取特定的章节。
- 使用 Section.Paragraphs[] 属性获取指定的段落。
- 使用 Paragraph.AppendTextBox() 在指定段落添加文本框
- 通过 TextBox 对象下的其他属性设置文本框的样式和位置。
- 试用 TextBox.Body.AddParagraph() 在文本框内添加段落
- 使用 Paragraph.AppendPicture() 添加图片,并设置图片宽高。
- 再次使用 TextBox.Body.AddParagraph() 在文本框中添加段落,之后在段落内添加文本内容
- 使用 Document.SaveToFile() 方法保存文件。
- 关闭并释放 Document 资源
- Python
from spire.doc import *
from spire.doc.common import *
outputFile = "Textbox.docx"
# 创建Document对象并加载文档
document = Document()
document.LoadFromFile("F:\\data\\川菜.docx")
# 获取第一个section
section = document.Sections.get_Item(0)
# 通过下标获取section的指定段落
paragraph = section.Paragraphs[1] if section.Paragraphs.Count > 0 else section.AddParagraph()
# 插入文本框,并设置宽高
textBox = paragraph.AppendTextBox(240, 200)
# 设置文本框环绕模式和水平位置
textBox.TextWrappingStyle = TextWrappingStyle.Square
textBox.HorizontalAlignment = ShapeHorizontalAlignment.Right
# 设置文本框轮廓样式
textBox.Format.LineColor = Color.get_Gray()
textBox.Format.LineStyle = TextBoxLineStyle.Simple
# 设置文本框的填充颜色
textBox.Format.FillColor = Color.get_DarkSeaGreen()
# 在文本框中添加段落
para = textBox.Body.AddParagraph()
# 在段落内部的第一个位置插入图片并居中
pic = para.AppendPicture("F:\\data\\冒菜.jpg")
para.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设定图片宽高
pic.Width = 200
pic.Height = 150
# 再添加一个段落设置文本
para = textBox.Body.AddParagraph()
# 在段落内添加文本并设置居中
txtrg = para.AppendText("冒菜")
para.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设置字体样式
txtrg.CharacterFormat.FontName = "simsun"
txtrg.CharacterFormat.FontSize = 14
txtrg.CharacterFormat.TextColor = Color.get_White()
# 保存文件
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭并释放资源
document.Close()
document.Dispose()
Python 删除 Word 中的文本框
Spire.Doc for Python 提供了通过索引删除指定文本框和删除全部文本框的方法,具体请参考下面的步骤:
- 创建一个 Document 对象。
- 使用 Document.LoadFromFile() 方法加载一个 Word 文件。
- 通过 Document.TextBoxes.RemoveAt() 方法移除指定索引的文本框或者使用 Document.TextBoxes.Clear() 方法删除全部文本框。
- 使用 Document.SaveToFile() 保存文档。
- 关闭并释放资源。
- Python
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()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。