在Python中插入图片需要使用第三方插件Spire.Doc for Python. 其支持在Word 文档中插入很多内容图片、表格、形状、列表等内容。通过插入图片到Word文档中,我们可以展示数据或呈现文字难以描述的内容,使复杂的数据、概念等内容更直观、更易于理解。本文将展示如何使用 Spire.Doc for Python在 Word 文档中插入图片。
- 以指定环绕方式插入图片到word文档
- 在指定位置插入图片到word文档
安装Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 VS Code 中。
pip install Spire.Doc
使用 Python 在 Word 文档中插入图片
Spire.Doc for Python 提供 Paragraph.AppendPicture() 方法可以将图片插入到 Word 文档中,并且插入图片时,可以使用DocPicture.TextWrappingStyle设置图片的文字环绕样式。请注意,插入的图片格式必须是 Word 支持的格式,如JPEG,PNG等。文档中添加图片的方法如下:
- 创建一个 Document 类的对象。
- 使用 Document.AddSection() 方法添加一节。
- 使用 Section.AddParagraph() 方法添加两个段落到该节。
- 在段落中添加文本并设置段落格式。
- 使用 Paragraph.AppendPicture() 方法将图片添加到指定的段落。
- 使用 DocPicture.Width 和 DocPicture.Height 属性设置图片的宽度和高度。
- 使用 DocPicture.TextWrappingStyle 属性设置图片的文字环绕样式。
- 使用 Document.SaveToFile() 方法保存结果文档。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
document = Document()
# 添加一节
section = document.AddSection()
# 添加一个段落
paragraph1 = section.AddParagraph()
# 向段落中添加文本并设置格式
tr = paragraph1.AppendText("Spire.Doc for Python 是一款独立专业的 Python Word 开发组件,开发人员可以使用它轻松地将 Word 文档的创建、读取、编辑和转换等功能集成到自己的 Python 应用程序中。为一款完全独立的组件,Spire.Doc for Python 的运行环境无需安装 Microsoft Word。")
tr.CharacterFormat.FontName = "宋体"
tr.CharacterFormat.FontSize = 11
paragraph1.Format.LineSpacing = 15
paragraph1.Format.BeforeSpacing = 10
paragraph1.Format.AfterSpacing = 10
# 添加另一个段落
paragraph2 = section.AddParagraph()
tr = paragraph2.AppendText("Spire.Doc for Python 能执行多种 Word 文档处理任务,包括生成、读取、和转换 Word 文档,插入图片,添加页眉页脚,创建表格,添加表单域和邮件合并域,加密和解密 Word 文档,添加文本和图片水印,设置背景颜色和背景图片,添加脚注和尾注,添加超链接等。")
# 向段落中添加文本并设置格式
tr.CharacterFormat.FontName = "宋体"
tr.CharacterFormat.FontSize = 11
paragraph2.Format.LineSpacing = 15
# 在指定段落插入一个图片
picture = paragraph1.AppendPicture("Spire.Doc.jpg")
# 设置图片尺寸
picture.Width = 100
picture.Height = 100
# 设置图片的文字环绕样式
picture.TextWrappingStyle = TextWrappingStyle.Square
# 保存结果文档
document.SaveToFile("Word图片.docx", FileFormat.Docx)
document.Close()
Python 在指定位置插入图片到Word
如果想要将图片插入到 Word 文档中的指定位置,可以通过 DocPicture.HorizontalPosition 和 DocPicture.VerticalPosition 属性设置图片的位置。具体步骤如下:
- 创建一个 Document 类的对象。
- 使用 Document.AddSection() 方法添加一节。
- 使用 Section.AddParagraph() 方法添加一个段落到该节。
- 在段落中添加文本并设置段落格式。
- 使用 Paragraph.AppendPicture() 方法添加一个图片到该段落。
- 使用 DocPicture.Width 和 DocPicture.Height 属性设置图片的宽度和高度。
- 使用 DocPicture.HorizontalPosition 和 DocPicture.VerticalPosition 属性设置图片的水平位置和垂直位置。
- 使用 DocPicture.TextWrappingStyle 属性设置图片的文字环绕样式。
- 使用 Document.SaveToFile() 方法保存结果文档。
from spire.doc import *
from spire.doc.common import *
# 创建 Document 类的对象
doc = Document()
# 添加一节
section = doc.AddSection()
# 添加一个段落
paragraph = section.AddParagraph()
# 向段落中添加文本并设置格式
paragraph.AppendText("此示例演示如何在Word文档中的指定位置插入图片。")
paragraph.ApplyStyle(BuiltinStyle.Heading1)
# 插入一个图片到该段落
picture = paragraph.AppendPicture("pic.jpg")
# 设置图片位置
picture.HorizontalPosition = 150.0
picture.VerticalPosition = 60.0
# 设置图片尺寸
picture.Width = 120.0
picture.Height = 180.0
# 设置图片的文字环绕样式(注意当文字环绕样式为Inline时位置设置不适用)
picture.TextWrappingStyle = TextWrappingStyle.Through
# 保存结果文档
doc.SaveToFile("插入图片.docx", FileFormat.Docx)
doc.Close()
本文完