在现代办公环境中,microsoft word 已经成为了我们日常工作和学习中不可或缺的一部分。无论是撰写报告、制作简历还是设计宣传资料,word 都为我们提供了丰富的功能和工具。其中,添加形状的功能尤其受到广大用户的喜爱,因为它能够让我们轻松地为文档增添视觉上的吸引力和表现力。对形状元素的操作是 spire.doc 功能亮点之一,本文将向您介绍如何使用 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 文档
spire.doc for python 支持添加多种形状,如矩形、梯形、三角形、箭头、线条、表情符号等多种预定义形状类型。通过调用 paragraph.appendshape(width:float,height:float,shapetype:'shapetype') 方法,不仅可以轻松插入这些形状到文档中的任意位置,还可以自定义形状的各种属性,如填充颜色、边框样式、旋转角度以及透明度等,以满足不同的排版需求和视觉效果。以下是详细步骤:
- 创建 document 类的对象。
- 调用 document.addsection() 以及 section.addparagraph() 方法分别添加一个章节,并再章节中添加一个段落。
- 调用 paragraph.appendshape(width:float,height:float,shapetype:'shapetype') 方法在段落上添加一个形状,其中 width 和 height 分别代表形状的宽高,而 shapetype 枚举用于指定形状类型。
- 定义形状的样式,如填充色、边框色、边框样式以及宽度。
- 设置形状相对页面的水平和垂直位置。
- 同样的方法添加多个其他类型的形状。
- 使用 document.savetofile() 方法保存文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个新的document对象
doc = document()
# 在文档中添加一个新节
sec = doc.addsection()
# 在新节中添加一个段落
para = sec.addparagraph()
# 在段落中添加一个矩形形状,宽高均为60
shape1 =para.appendshape(60, 60,shapetype.rectangle)
# 定义形状的填充色
shape1.fillcolor = color.get_yellowgreen()
# 定义边框颜色
shape1.strokecolor = color.get_gray()
# 定义边框样式和宽度
shape1.linestyle = shapelinestyle.single
shape1.strokeweight = 1
# 设置形状基于页面的水平和垂直位置
shape1.horizontalorigin = horizontalorigin.page
shape1.horizontalposition = 100
shape1.verticalorigin = verticalorigin.page
shape1.verticalposition = 200
# 类似地,在同一段落中添加一个三角形形状,设置其属性
shape2 =para.appendshape(60, 60,shapetype.triangle)
shape2.fillcolor = color.get_green()
shape2.strokecolor = color.get_gray()
shape2.linestyle = shapelinestyle.single
shape2.strokeweight = 1
shape2.horizontalorigin = horizontalorigin.page
shape2.horizontalposition = 200
shape2.verticalorigin = verticalorigin.page
shape2.verticalposition = 200
# 添加一个箭头形状,并设置其属性
shape3 =para.appendshape(60, 60,shapetype.arrow)
shape3.fillcolor = color.get_seagreen()
shape3.strokecolor = color.get_gray()
shape3.linestyle = shapelinestyle.single
shape3.strokeweight = 1
shape3.horizontalorigin = horizontalorigin.page
shape3.horizontalposition = 300
shape3.verticalorigin = verticalorigin.page
shape3.verticalposition = 200
# 添加一个笑脸形状,并设置其属性
shape4=para.appendshape(60, 60,shapetype.smileyface)
shape4.fillcolor = color.get_lightgreen()
shape4.strokecolor = color.get_gray()
shape4.linestyle = shapelinestyle.single
shape4.strokeweight = 1
shape4.horizontalorigin = horizontalorigin.page
shape4.horizontalposition = 400
shape4.verticalorigin = verticalorigin.page
shape4.verticalposition = 200
# 保存文档
outputfile = "添加形状.docx"
doc.savetofile(outputfile, fileformat.docx2016)
# 释放资源
doc.close()
python 添加组合形状到 word
spire.doc for python 不仅提供对单一形状(如矩形、圆形、线条等)的添加功能,还支持创建和管理组合形状。组合形状是一种特殊的形状集合,它可以将多个独立的形状组织在一起形成一个整体,共享相同的变换属性(如位置、旋转角度等)。下面是具体的操作步骤:
- 创建 document 类的对象。
- 调用 document.addsection() 方法添加一个空白章节。
- 调用 section.addparagraph() 方法在章节中添加一个空白段落。
- 调用 paragraph.appendshapegroup() 添加形状组合并指定其尺寸。
- 创建 textbox 文本框并指定其形状类型,尺寸,位置,填充颜色等属性。
- 在文本框内添加段落并插入文本,设置段落的水平对齐方式居中。
- 将文本框添加到形状组的子对象列表中。
- 同上述步骤类似,创建箭头符号的形状,钻石形状文本框,八边形形状文本框等并设置其属性,添加它们到形状组的子对象列表。
- 使用 document.savetofile() 方法保存文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个document对象
doc = document()
# 向文档中添加一个章节
sec = doc.addsection()
# 在章节中添加一个段落
para = sec.addparagraph()
# 在段落中添加一个形状组,并指定其水平位置
shapegroup = para.appendshapegroup(375, 350)
shapegroup.horizontalposition = 180
# 计算形状组的相对单位比例x和y,便于后续元素尺寸定位
x = float((shapegroup.width / 1000.0))
y = float((shapegroup.height / 1000.0))
# 创建一个圆角矩形文本框
txtbox = textbox(doc)
# 设置文本框的形状类型
txtbox.setshapetype(shapetype.roundrectangle)
# 设置文本框的宽度和高度
txtbox.width = 125 / x
txtbox.height = 54 / y
# 在文本框内部添加一个段落,并设置其水平对齐方式为居中
paragraph = txtbox.body.addparagraph()
paragraph.format.horizontalalignment = horizontalalignment.center
# 向段落中添加文本“步骤一”
paragraph.appendtext("步骤一")
# 设置文本框的水平和垂直位置
txtbox.horizontalposition = 19 / x
txtbox.verticalposition = 27 / y
# 设置文本框填充颜色,去除边框线
txtbox.format.fillcolor = color.fromrgb(153, 255, 255)
txtbox.format.noline = true
# 将文本框添加到形状组的子对象列表中
shapegroup.childobjects.add(txtbox)
# 创建一个向下的箭头形状,指定其形状类型
arrowlineshape = shapeobject(doc, shapetype.downarrow)
# 设置箭头形状的宽度和高度
arrowlineshape.width = 16 / x
arrowlineshape.height = 40 / y
# 设置箭头形状的水平和垂直位置
arrowlineshape.horizontalposition = 73 / x
arrowlineshape.verticalposition = 87 / y
# 设置箭头形状的描边颜色
arrowlineshape.strokecolor = color.get_cadetblue()
# 将箭头形状添加到形状组的子对象列表中
shapegroup.childobjects.add(arrowlineshape)
# (后续代码类似,创建钻石形状文本框、向下的箭头形状以及八边形形状文本框,并进行相应的属性设置与定位)
txtbox = textbox(doc)
txtbox.setshapetype(shapetype.diamond)
txtbox.width = 125 / x
txtbox.height = 54 / y
paragraph = txtbox.body.addparagraph()
paragraph.format.horizontalalignment = horizontalalignment.center
paragraph.appendtext("步骤二")
txtbox.horizontalposition = 19 / x
txtbox.verticalposition = 131 / y
txtbox.format.fillcolor=color.fromrgb(0,102,102)
txtbox.format.noline=true
shapegroup.childobjects.add(txtbox)
arrowlineshape = shapeobject(doc, shapetype.downarrow)
arrowlineshape.width = 16 / x
arrowlineshape.height = 40 / y
arrowlineshape.horizontalposition = 73 / x
arrowlineshape.verticalposition = 192 / y
arrowlineshape.strokecolor = color.get_cadetblue()
shapegroup.childobjects.add(arrowlineshape)
txtbox = textbox(doc)
txtbox.setshapetype(shapetype.octagon)
txtbox.width = 149 / x
txtbox.height = 59 / y
paragraph = txtbox.body.addparagraph()
paragraph.format.horizontalalignment = horizontalalignment.center
paragraph.appendtext("步骤三")
txtbox.horizontalposition = 7 / x
txtbox.verticalposition = 236 / y
txtbox.format.fillcolor=color.fromrgb(51,204,204)
txtbox.format.noline=true
shapegroup.childobjects.add(txtbox)
# 定义输出文件名
outputfile = "形状组合.docx"
# 保存文档
doc.savetofile(outputfile, fileformat.docx2016)
# 关闭文档对象,释放资源
doc.close()
python 删除 word 文档中的形状
spire.doc for python 支持高效地从 word 文档中移除单一形状和形状组,下面是详细的步骤。
- 创建 document 类的对象。
- 调用 document.loadfromfile() 方法加载一个包含形状的文档。
- 遍历文档的所有章节以及章节内的正文元素,获取段落。
- 判断段落下的子元素是否为形状对象或者形状组对象。
- 调用 paragraph.childobjects.remove() 方法移除形状对象。
- 使用 document.savetofile() 方法保存文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建并加载文档
doc = document()
doc.loadfromfile("形状组合.docx")
# 遍历文档的所有章节
for s in range(doc.sections.count):
# 获取当前章节
section = doc.sections[s]
# 遍历章节内所有子对象
for i in range(section.body.childobjects.count):
# 获取当前子对象
document_object = section.body.childobjects[i]
# 如果当前子对象是段落
if isinstance(document_object, paragraph):
# 将子对象转换为段落对象
paragraph = document_object
# 初始化内部循环索引
j=0
# 遍历段落内的所有子对象
while j
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。