如何用python-docx实现文档中浮动图片的插入操作?

2026-04-20 09:020阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2776个文字,预计阅读时间需要12分钟。

如何用python-docx实现文档中浮动图片的插入操作?

信任大家对于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实现文档中浮动图片的插入操作?

信任大家对于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使用经验即可知,通过设置图片版式来控制图片的浮动和具体位置。

阅读全文