python-docx之图片操作之添加删除

插入图片

## 在段落中添加
from docx import Document
docx1 = Document(r"D:\lianxi_03.docx")
docx1.add_picture(r"D:\gutianle.png")
docx1.save(r"D:\edit_03.docx")
## 在块中添加
docx1 = Document(r"D:\lianxi_05.docx")
paras = docx1.paragraphs
run1 = paras[1].add_run() # 获取run对象
print(run1)
run1.add_picture(r"D:\gutianle.png")
run2 = paras[2].add_run()
run2.add_picture(r"D:\wuyanzu.png")
docx1.save(r'D:\edit_05.docx')
<docx.text.run.Run object at 0x00000000063732C8>

在单元格中添加图片

from docx import Document
from docx.shared import Cm
docx1 = Document(r"D:\lianxi_03.docx")
run1 = docx1.tables[0].cell(0,0).paragraphs[0].add_run()
run1.add_picture(r"D:\gutianle.png", width=Cm(5), height=Cm(3))
docx1.save(r"D:\edit_03.docx")

添加并设置图片尺寸

  • 需要导入库from docx.shared import Cm
from docx.shared import Cm
docx1.add_picture(r"D:\gutianle.png", width=Cm(15), height=Cm(9))
docx1.save(r"D:\edit_03.docx")
from docx import Document
from docx.shared import Cm
docx1 = Document(r"D:\lianxi_03.docx")
run1 = docx1.tables[0].cell(0,0).paragraphs[0].add_run()
run1.add_picture(r"D:\gutianle.png", width=Cm(5), height=Cm(3))
docx1.save(r"D:\edit_03.docx")

定位图片

  • 图像添加后存储在WORD文档的inline_shapes里面,所以要定位图像,必须先确定对应的inline_shape
from docx import Document
from docx.shared import Cm
docx1 = Document('D:\lianxi_03.docx')
print('图形图像的数量:', len(docx1.inline_shapes))
docx1.inline_shapes[0].height = Cm(4)
docx1.inline_shapes[0].width = Cm(4)
docx1.save(r"D:\edit_03.docx")
图形图像的数量: 2

删除图片

段落中的图片删除

  • 当图片在段落中时,利用它属于第几段落直接删除
from docx import Document
docx1 = Document(r"D:\lianxi_03.docx")
para1 = docx1.paragraphs[1]
print(para1.text)
print("删除前数量", len(docx1.inline_shapes))
para1.clear()
print("删除后数量", len(docx1.inline_shapes))
docx1.save(r"D:\edit_04.docx")
删除前数量 2
删除后数量 1

在块中删除

  • 在段落的块中所添加的图片,在块中删除
docx1 = Document(r"D:\lianxi_06.docx")
paras = docx1.paragraphs
run1 = paras[1].runs[0] # 获取run对象
run1.clear()
docx1.save(r'D:\edit_06.docx')

表格中的图片删除

  • 利用cells定位到单元格,然后设置text=“”
docx1 = Document(r"D:\lianxi_04.docx")
tb1 = docx1.tables[0]
for i_cells in tb1.rows[1].cells:
    i_cells.text = ""
docx1.save(r'D:\edit_07.docx')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值