【求助】如何用python修改word中的文字,同时保留word中的图片
在改动word中的文字时,我使用
all_paragraphs = document.paragraphs
for paragraph in all_paragraphs:
for run in paragraph.runs:
...
all_tables = document.tables
另存出的word文档发现,原word中的图片都消失了,只保留了原来的文字、表格。
百思不得其解。。。
inline_shapes 不太会用,似乎只对内嵌图片有效(内嵌图片是啥?)
加了all_inline_shapes = document.inline_shapes
仍旧无法出现图片。 file.inlineshapes仅能找到内联图片,非内联图片找不到,
但通过file.paragraphs.runs.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)
页:
[1]