在 word 中,文本框是指一种可移动、可调大小的文字或图形容器。使用文本框,可以在一页上放置数个文字块,或使文字按与文档中其他文字不同的方向排列。您可以设置文本框在 word 中的位置与样式,来实现不同的排版效果。在这篇文章中,我们将探讨如何使用 spire.doc for python 在 word 中添加、删除文本框。
安装 spire.doc for python
本教程需要 spire.doc for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.doc
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 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 天的临时许可证。