Как вставить изображения в документ Word с помощью Python
Изображения делают документы Word более привлекательными и информативными. При автоматическом создании отчётов, контрактов или маркетинговых материалов добавление изображений через код экономит время и обеспечивает единообразие оформления.
В этой статье показано, как вставлять изображения в документ Word с помощью бесплатной библиотеки Free Spire.Doc for Python. Вы узнаете, как добавлять картинки, изменять их размер и выравнивание, а также размещать их в колонтитулах или за текстом.
Предварительные требования
Перед началом установите библиотеку Free Spire.Doc for Python с помощью следующей команды:
pip install spire.doc.free
Импортируйте необходимые классы:
from spire.doc import *
from spire.doc.common import *
Метод 1. Вставка изображения в определённое место
В этом примере показано, как добавить изображение в абзац нового документа Word.
# Создание документа Word
document = Document()
section = document.AddSection()
paragraph = section.AddParagraph()
# Вставка изображения
picture = paragraph.AppendPicture("logo.png")
# Сохранение документа
document.SaveToFile("InsertImage.docx", FileFormat.Docx2013)
document.Close()
Пояснение:
- Создаётся новый документ Word.
- Вставляется изображение logo.png в абзац.
- Результат сохраняется как файл .docx.
Метод 2. Изменение размера и выравнивание изображения
Вы можете легко изменить размер и выравнивание изображения для лучшего оформления.
picture = paragraph.AppendPicture("header.png")
picture.Width = 200
picture.Height = 80
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
Советы:
- Используйте SetWidth() и SetHeight() для масштабирования изображения.
- Выравнивайте изображение по левому, правому краю или по центру с помощью HorizontalAlignment.
Метод 3. Вставка изображения в верхний или нижний колонтитул
Чтобы отображать логотип или баннер на каждой странице, вставьте изображение в колонтитул.
header = section.HeadersFooters.Header
header_paragraph = header.AddParagraph()
header_image = header_paragraph.AppendPicture("header-logo.png")
header_image.Width = 100
header_image.Height = 50
header_paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left
Таким образом, изображение автоматически появится на всех страницах документа.
Метод 4. Вставка изображения за текстом или перед текстом
Вы можете управлять стилем обтекания текста, чтобы разместить изображение за текстом или перед ним.
picture = paragraph.AppendPicture("background.png")
picture.TextWrappingStyle = TextWrappingStyle.Behind
Выберите TextWrappingStyle.Behind или TextWrappingStyle.InFrontOfText для разных визуальных эффектов макета.
Метод 5. Вставка изображения из потока памяти
Если вам нужно вставить динамически сгенерированные или удалённые изображения, вы можете загрузить их из потока.
import io
with open("chart.jpg«, «rb») as f:
data = f.read()
stream = Stream(data)
picture = paragraph.AppendPicture(stream)
Этот способ полезен для веб-приложений или рабочих процессов, где изображения не хранятся локально.
Заключение
С библиотекой Free Spire.Doc вставка изображений в документы Word становится быстрой и гибкой. Вы можете:
- Добавлять локальные изображения или изображения из памяти.
- Настраивать размер, выравнивание и обтекание текстом.
- Размещать изображения в колонтитулах, фонах или других частях документа.
Эти возможности позволяют создавать профессиональные автоматизированные документы Word — брендированные отчёты, счета или шаблоны с единым стилем.
Интеграция вставки изображений в ваш Python-процесс генерации документов помогает ускорить работу и сделать каждый документ аккуратным и презентабельным.