python 操作 word 图片 消失
2024-08-29 04:19:35
问题描述
修改word中文本,如下代码,保存时会导致word中的部分图片消失
from docx import Document
path1 = 'test_in.docx'
path2 = 'test_out.docx'
file = docx.Document(path1)
for parg in file.paragraphs:
if parg.text:
parg.text = "test" + parg.text
file.save(path2)
解决方案
file.inlineshapes仅能找到内联图片,非内联图片找不到,
但通过file.paragraphs[n].runs[m].element.drawing_lst 则可返回块中的图形列表,包括内联图形和非内联图形。所以图片会存在paragraph.run内,如果直接修改paragraph.text会破坏paragraph结构,导致图片丢失。
所以解决方案就是修改下一级run中text而不动图片,如下:
from docx import Document
path1 = 'test_in.docx'
path2 = 'test_out.docx'
file = docx.Document(path1)
for parg in file.paragraphs:
runt = []
for run in parg.runs:
if run.text:
runt.appent(run.text)
runtext = ''
parg.add_run('test***'+''.join(runt))
file.save(path2)
————————————————
版权声明:本文为CSDN博主「SUN_SU3」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013546508/article/details/88747317
最新文章
- 货运APP雨后春笋 传统物流模式将被改变
- 集​群​t​o​m​c​a​t​+​a​p​a​c​h​e​配​置​文​档
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
- [JavaCore]JAVA中的泛型
- js获取select字段值的方法
- API读取和处理的文件
- openerp学习笔记 视图更新时删除已存在的菜单或其他对象
- c/c++中的各种字符串转换
- bitset使用
- UVA247- Calling Circles(有向图的强连通分量)
- Stream与byte转换
- 3xian退役贴【深思。】
- Struts2 + uploadify 多文件上传完整的例子!
- vue.js基础知识篇(3):计算属性、表单控件绑定
- 【算法】LeetCode算法题-Maximum Subarray
- activemq 控制面板里Number Of Pending Messages、 Messages Enqueued等含义解释
- 初级算法-6.两个数组的交集 II
- Hadoop -- ES -- CURD
- 歌曲播放页面的数据vuex管理
- PKU 1129 Channel Allocation(染色问题||搜索+剪枝)