如何使用Python将图像插入现有Word文档中的特定位置?

2024-09-28 18:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的是使用Python将图像插入现有Word文档中的特定位置。我已经看过各种图书馆来做这件事;我正在使用docx-mailmerge包使用Word合并字段插入文本和表,但不幸的是,图像合并只是一个TODO/wishlist功能python-docx同时允许插入图像,但仅在文档末尾,而不在特定位置

是否有其他库可以做到这一点,或者有一个好的技巧来实现它


Tags: 文档图像文本功能技巧图书馆todoword
1条回答
网友
1楼 · 发布于 2024-09-28 18:12:33

摆弄底层API(多亏了this SO answer),我成功地通过黑客攻击:

  1. 在Word文档中添加一个占位符,将图像放置在该位置,类似于一行[ChartImage1]
  2. 在包含该文本的文档中查找段落对象
  3. 用空字符串替换该段落的文本
  4. 添加跑步,并在其中添加您的图像

比如:

document = Document("template.docx")
image_paras = [i for i, p in enumerate(document.paragraphs) if "[ChartImage1]" in p.text]
p = document.paragraphs[image_paras[0]]
p.text = ""
r = p.add_run()
r.add_picture("path/to/image.png")
document.save("my_doc.docx")

相关问题 更多 >