如何用python-docx实现文档中浮动图片的插入操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2776个文字,预计阅读时间需要12分钟。
信任大家对于python-docx这个常用操作docx文档的库都很熟悉,它支持以内联形式(Inline Shape)插入图片,保证图片与文本之间没有重叠,且遵循流畅布局(flow layout)。
相信大家对python-docx这个常用的操作docx文档的库都不陌生,它支持以内联形状(Inline Shape)的形式插入图片,即图片和文本之间没有重叠,遵循流动版式(flow layout)。但是,截至最新的0.8.10版本,python-docx尚不支持插入浮动图片(floating picture)。这显然不能满足丰富多彩的文档样式的需要,因此本文探究基于python-docx插入浮动图片——剖析xml、追踪源码,最后得到完整代码。
问题提出
作者在尝试实现PDF文档转docx(pdf2docx:github.com/dothinking/pdf2docx,开发中)的过程中遇到一个需求:根据背景图片在PDF页面的具体位置(例如左上角坐标和图片区域的长宽),将其重现到docx页面的相应位置。考虑到背景图片与文本的重叠,这就需要实现精确定位的浮动图片,参考下图示例。
Word中的设置
我们先尝试在Office Word中,手动解决上述问题。具备基础的Word使用经验即可知,通过设置图片版式来控制图片的浮动和具体位置。
本文共计2776个文字,预计阅读时间需要12分钟。
信任大家对于python-docx这个常用操作docx文档的库都很熟悉,它支持以内联形式(Inline Shape)插入图片,保证图片与文本之间没有重叠,且遵循流畅布局(flow layout)。
相信大家对python-docx这个常用的操作docx文档的库都不陌生,它支持以内联形状(Inline Shape)的形式插入图片,即图片和文本之间没有重叠,遵循流动版式(flow layout)。但是,截至最新的0.8.10版本,python-docx尚不支持插入浮动图片(floating picture)。这显然不能满足丰富多彩的文档样式的需要,因此本文探究基于python-docx插入浮动图片——剖析xml、追踪源码,最后得到完整代码。
问题提出
作者在尝试实现PDF文档转docx(pdf2docx:github.com/dothinking/pdf2docx,开发中)的过程中遇到一个需求:根据背景图片在PDF页面的具体位置(例如左上角坐标和图片区域的长宽),将其重现到docx页面的相应位置。考虑到背景图片与文本的重叠,这就需要实现精确定位的浮动图片,参考下图示例。
Word中的设置
我们先尝试在Office Word中,手动解决上述问题。具备基础的Word使用经验即可知,通过设置图片版式来控制图片的浮动和具体位置。

