问题描述
修改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

python 操作 word 图片 消失的更多相关文章

  1. 利用Python操作Word文档【图片】

    利用Python操作Word文档

  2. Python操作Word:常用对象介绍

    前面已经介绍过了试用win32com类库来进行Word开发,系列文章<Python操作Word>是继承了前面的文章,所以,你应该先查看前面的文章,其实只有两篇,文章地址列在最下面的参考资料 ...

  3. python操作word(改课文格式)【最终版】

    python操作word的一些方法,前面写了一些感悟,有点跑题,改了下题目,方便能搜索到.心急的可以直接拉到最后看代码,我都加了比较详细的注释. 从8.3号早上9点,到8.8号下午5点半下班,终于把这 ...

  4. python操作word

    python教程(百度经验) Python 操作Word(Excel.PPT等通用)   import win32comfrom win32com.client import Dispatch, co ...

  5. python操作word、ppt的详解

    python使用win32com的心得   python可以使用一个第三方库叫做win32com达到操作com的目的, 我是安装了ActivePython的第三方库,从官网下载了安装包,该第三方库几乎 ...

  6. python操作word入门

    1.安装pywin32 http://sourceforge.net/projects/pywin32 在files里去找适合你的python版本.截止此文,最新版本是pywin32-219快捷路径: ...

  7. Python操作Word【批量生成文章】

    http://www.cnblogs.com/codex/p/4668396.html 需要做一些会议记录.总共有多少呢?五个地点x7个月份x每月4篇=140篇.虽然不很重要,但是140篇记录完全雷同 ...

  8. Python操作Word批量生成文章

    需要做一些会议记录.总共有多少呢?五个地点x7个月份x每月4篇=140篇.虽然不很重要,但是140篇记录完全雷同也不好.大体看了一下,此类的记录大致分为四段.于是决定每段提供四种选项,每段从四选项里随 ...

  9. Python操作Word与Excel并打包

    安装模块 # Word操作库 pip install docx # Excel操作库 pip install openpyxl # 打包exe工具 pip install pyinstaller Wo ...

随机推荐

  1. 随机定时修改密码change_passwd.sh

    change_passwd.sh #!/bin/sh /usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /usr/b ...

  2. 思科命令 service password-encryption

    service password-encryption 将会把所有password用思科私有方式加密, 标记是 7,show run 查看密码时,5为md5加密结果即secret, no servic ...

  3. js image to base64 摘录

    //传入图片路径,返回base64 //用处,由于在新增时,使用的是base64的格式,为了统一,在编辑时,也将图片转为base64,以便于统一处理 /* 使用: 因为图像处理存在一定的延时,所以通过 ...

  4. Centos下查看CPU个数跟核数

    总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...

  5. mongo操作图片储存

    python 将图片存入mongodb,读取图片,gridfs模块原创A873054267 最后发布于2018-11-06 15:49:30 阅读数 2785 收藏展开导入图片引入模块,其中gridf ...

  6. 我的翻译--一个针对TP-Link调试协议(TDDP)漏洞挖掘的故事

    前言 我写这篇文章原本是为了简化WiFi渗透测试研究工作.我们想使用去年由Core Security发布的WIWO,它可以在计算机网络接口和WiFi路由器之间建立一个透明的通道. 研究的第一步,就是选 ...

  7. 使用FDATOOL生成xilinx中FIR滤波器IP核的系数

    1.在MATLAB命令窗口输入fdatool后回车,打开“Filter Designer & Analysis Tool”工具界面: 2.点击左下角的Set quantization para ...

  8. jQuery 判断页面上下滚动

    var t = 0, b = 0; $(window).scroll(function(){ t = $(this).scrollTop(); if(b < t){ console.log('向 ...

  9. 查找pod使用的物理目录位置

    例子:找出当前pod挂载的是哪个物理目录 # 先查看pod web-0 的yaml文件 # kubectl get pod web-0 -o yaml apiVersion: v1 kind: Pod ...

  10. Mysql-从库只读设置

    主从设置中,如果从库在my.cnf中使用init_connect来限制只读权限的话,从库使用非超级用户(super权限)登陆数据时,无法进行任何操作,仅可维持主从复制. init_connect='S ...