Python -docx: как добавить рамку картинки? - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть изображение в абзаце документа:

    document.add_picture("image.png")
    last_paragraph = document.paragraphs[-1]
    last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER

Как я могу добавить границу размером 1 пиксель к этой фотографии с python -docx lib?

1 Ответ

0 голосов
/ 03 февраля 2020

Вы можете использовать библиотеку Python PIL для всех задач редактирования изображений. Чтобы добавить рамку,

def add_border(input_image, output_image, border):
    img = Image.open(input_image)
    if isinstance(border, int) or isinstance(border, tuple):
        bimg = ImageOps.expand(img, border=border)
    else:
        raise RuntimeError('Border is not an image or tuple')
    bimg.save(output_image)

Теперь вы можете вызывать эту функцию по мере необходимости

    in_img = 'Demo_Image.png'
    add_border(in_img, output_image='DemoBorder.png', border=1)

Это сохранит выходное изображение в вашем рабочем каталоге в формате png (jpg, если сохранено как DemoBorder.jpg)

...