|
发表于 2020-4-2 23:36:39
From FishC Mobile
|
显示全部楼层
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)
复制代码 |
|