python docx 图片_python-docx图像的添加与删除
在Word软件中图片的添加可以通过“插入”菜单中的图片来添加,见下图;删除图像则只需选定图片然后点击DELETE键即可。而在python-docx包要使用add_picture()函数来添加图像,使用段落删除方法来删除图像。笔者将分图像的添加、图像的定位和图像的删除等3个部分来讲述python-docx包在WORD文档中图片的添加和删除。
WORD软件中添加图片的方式
01图像的添加
在python-docx包中添加图像主要使用add_picture()函数来实现。函数的完整形式为:add_picture(图像路径或者图像流,width=None,height=None),其中,width是图像的宽度,height是图像的高度,这两个参数可以不指定,也可以指定1个,本文只使用指定这种情况。add_picture()函数的主要有在文档末尾添加、任意段落添加和在表格里添加等三种使用情形。
文档末尾添加
使用document.add_picture()可以在文档的末尾新建一个段落,然后添加图像。以下代码演示了新建一个docx文档,新建3个段落并在文档末尾添加一个图像。
from docx import Document # 导入docx包document = Document() # 新建docx文档document.add_paragraph('111111111') # 添加第一个段落document.add_paragraph('2222222222') # 添加第二个段落document.add_paragraph('3333333333') # 添加第三个段落document.add_picture('111.jpg') # 文档末尾添加名称为111.jpg的图像document.save('test.docx') # 保存docx文档
文档末尾添加图像效果图
任意段落添加
run.add_picture()方法可以在文档中任意段落里添加图片。run对象是段落中的一个部分,所以在run中添加图像就是在段落里添加。这是添加图像的一般方法,document.add_picture()方法是run.add_picture()方法的特殊情况。要实现添加图像首先要获取段落,然后在段落中增加add_run()并获取run对象,然后使用run.add_picture()添加图像。例如,在上述生成的test.docx文档中的第二个段落里添加图像的代码如下:
document = Document('test.docx') # 读取test.docx文档run = document.paragraphs[1].add_run() # 获取run对象run.add_picture('222.jpg') # 添加名称为222.jpg的图像document.save('test1.docx') # 保存文档在第二个段落里添加图像的程序运行效果如下:
第二个段落里添加图像的效果图
在表格里添加图像
表格单元格里的内容是通过段落来添加的,所以在表格里添加图像从原理上来说和run.add_picture()方法是一致的。要经过了选定单元格,选择单元格里的段落,在段落里添加图像等三个步骤。以下代码演示了在表格中添加图像的方法:
table = document.add_table(2, 1) # 在文档中添加2行1列的表格table.cell(0, 0).paragraphs[0].add_run().add_picture('222.jpg') # 在表格(0,0)位置的单元格的第一个段落里添加图像表格添加图像的效果如下图:
表格里添加图像效果图
02的定位
图像添加后存储在WORD文档的inline_shapes里面,所以要定位图像,必须先确定对应的inline_shape。以下代码读取test1.dox文档中的第一个图像,并将图像宽度和高度都设置成4cm,代码如下:
from docx.shared import Pt, Cmdocument = Document('test1.docx')print('图形图像的数量:', len(document.inline_shapes))document.inline_shapes[0].height = Cm(4)document.inline_shapes[0].width = Cm(4)程序运行结果见下图
选定文档中图像的运行结果图
选定图像并设置的效果见下图
选定第1个图像的效果图
在上述文档中含有2个图像,通过获取文档中的inline_shapes对象,然后通过图像索引来获取图形图像对象。
03图像的删除
图像是通过run对象的add_picture()来添加的,而run对象是段落的一部分,所以通过删除段落可以删除图像。为此,test.docx文档中第1个图像在第4个段落里,删除这个段落代码如下:
paragraph = document.paragraphs[3] # 获取文档中的第四个段落对象print('删除前图形图像的数量:', len(document.inline_shapes)) # 删除前图片的数量paragraph.clear() # 删除段落print('删除洁后图形图像的数量:', len(document.inline_shapes)) # 删除后图片的数量删除段落的运行结果如下图
删除段落运行结果图
删除段落后图像的效果如下图
图像效果图
删除段落前图像数量是2,删除段落后变成了1,所以删除段落的同时里面的图像也被删除了。这种方式对于段落里只含有图像的情形很有效。如果既要删除图像又要保留段落里的其他内容,这种方式就无能为力。
本文的主要内容见下图
python-docx图像添加与删除
#python删除docx图像#
python docx 图片_python-docx图像的添加与删除相关推荐
- 仿淘宝中的评价晒单中选择图片可以预览,添加,删除
前一篇文章写了如何把input="file"的默认样式改为自己想要的样式所以这篇是在这个的基础上写的,也就是说改变成了自己想要的样式之后,点击选择图片,可以放在一个div中预览,同 ...
- python开发图片_python实现图片上添加图片
在介绍完给图上添加文字后,我们再介绍给图片上添加图片,也就是图片的叠加. 需要使用的Python的图像库:PIL.更加详细的知识点如下: Imaga模块:用来创建,打开,保存图片文件 new(path ...
- python颜色表_python docx设置表格单元格背景和文本颜色
我正在使用python 2.7和docx,我想根据条件更改表格中单元格的背景和文本颜色.python docx设置表格单元格背景和文本颜色 我找不到任何关于单元格格式化的有用资源 有什么建议吗? 编辑 ...
- python控制台图片_Python实现图像信息隐藏
Python实现图像信息隐藏 之前学习密码学的时候老师有提到过『信息隐藏』,现在用图像的方法尝试一下.思想是:把信息藏到RGB通道中的B通道,然后利用奇偶性可以恢复过来 原理 从源图中提取文字图像信息 ...
- python 缩放图片_python实现按长宽比缩放图片
使用python按图片固定长宽比缩放图片到指定图片大小,空白部分填充为黑色. 代码 # -*- coding: utf-8 -*- from pil import image class image_ ...
- python显示图片_python 一个figure上显示多个图像的实例
方法一:主要是inshow()函数的使用 首先基本的画图流程为: import matplotlib.pyplot as plt #创建新的figure fig = plt.figure() #必须通 ...
- python缩小图片_python如何缩小图像
PIL是python的一个图像处理库,功能非常强大,可以实现图片的格式转换.旋转.裁剪.改变尺寸.像素处理.图片合并等等操作. PIL已经更名为pillow,所以在终端输入:pip3 install ...
- python浮雕图片_python图像数据增强——imgaug (二)
在这章我们展示一个涵盖了大部分数据增强方法的例子.这里有大量的代码,可能会引起部分读者的不适,但是大家可以主要看注释,以及最后的总结性的话语,在实际上使用的时候再详细的看具体的实现,有一些.from ...
- python浮雕图片_Python bug只会出现在使用Numpy的浮雕图像上
该程序的目的是拍摄ppm图像并对其进行浮雕. (整个项目的详细信息可以找到 here)我正在帮助分配任务,似乎无法找到学生的错误. 我使用的原始图像如下所示: 结果应如下所示: 这是整个程序(围绕问题 ...
最新文章
- Jackson 序列化对象成 JSON 字符串,忽略部分字段(属性)
- Java内存使用量测试 看看我们天天在用的JVM到底浪费了多少内存资源
- x3650m5不自动进系统_17日起,泉州这个地方自动抓拍系统启用!这些车闯红灯、严重超载、不按道行驶被查处曝光!【交通大整治】...
- PXE安装linux
- iOS之常用的方法和技巧
- IE6下position:absolute的定位BUG(转载)
- 弄懂bind,apply和call的区别
- macbook系统安装服务器,SVN-Mac安装服务器
- grootJsAPI文档
- contiki list 链表
- SharePoint 2013连接非默认端口的SQL Server
- 读取页面上所有的checkbox
- matlab多边形减面算法_matlab考前复习
- MATLAB 2016a 安装包以及安装破解教程
- firefox插件使用感受
- Line-in和Mic-in及Line-out的使用和介绍
- 彻底删除微软拼音输入法2003
- EDI电除盐纯水设备
- 芯片级维修学习课程安排
- IDES翻译—采购流程中的Enjoy界面
热门文章
- lamp整合三连发(3)
- wps数据匹配怎么做_wps表格中如何巧用Match函数进行快速匹配-百度经验
- 高层次人才需求旺盛!2022年中国大数据产业发展趋势
- 七牛云音视频文件并转码、添加水印官方示例
- 辽宁大学计算机测控技术专业排名,省级一流专业——辽宁大学测控技术与仪器专业...
- Python3爬虫(sqlite3存储信息)--AGE动漫网站排行榜
- 赚钱宝2代(飞碟形状)的主板TTL 串口使用
- 潜龙号开启水下机器人_蛟龙、海龙、潜龙傻傻分不清?全面解密国内最先进水下机器人...
- git拉取GitLab工程报错Repository not found
- 7-1 哈利·波特的考试