python - 如何使用 Python 将图像插入到现有 Word 文档中的特定位置?
问题描述
我想要做的是使用 Python 将图像插入到现有 Word 文档中的特定位置。我查看了各种库来做到这一点;我正在使用docx-mailmerge包使用 Word 合并字段插入文本和表格,但不幸的是,图像合并只是 TODO/wishlist 功能。python-docx同时允许图像插入,但只能在文档末尾,而不是在特定位置。
是否有另一个库可以做到这一点,或者有一个很好的技巧来完成它?
解决方案
摆弄底层 API(并且感谢这个 SO 答案)我破解了我的成功之路:
- 在你的 Word 文档中添加一个占位符,图像应该放在哪里,就像一行这样说
[ChartImage1]
- 在包含该文本的文档中查找段落对象
- 用空字符串替换该段落的文本
- 添加一个运行,并在其中添加您的图像
所以像:
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")
推荐阅读
- python - 将 2 个 csv 文件合并为一个用于多个文件
- c# - 序列密钥生成异或字符串加密
- eclipse - 如何在 Eclipse 上安装 JUnit?
- c# - 如何使用实体框架获取记录计数匹配谓词
- javascript - 提示验证并在取消时返回 false
- elasticsearch - 关键字的弹性搜索映射
- continuous-integration - 我们可以从 Azure 数据工厂更新或删除 VSTS-Git 配置吗?
- java - Esc [2J在Java中如何实现这个?
- javascript - 在路由组件之外反应路由重定向
- ios - 如何在 UIWebView 中打开 .csv 链接