gpt4 book ai didi

python - 内嵌图像周围的框架

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:25 24 4
gpt4 key购买 nike

有没有办法使用 python docx 在内联图像周围放置框架?

我有这样的东西:

from docx import Document
from docx.shared import Mm

document = Document()
table = document.add_table(rows=1, cols=3)
pic_cells = table.rows[0].cells
paragraph = pic_cells[0].paragraphs[0]
run = paragraph.add_run()
run.add_picture('testQR.png', width=Mm(15), height=Mm(15))
document.save('demo.docx')

我需要在图像周围放置一个框架来标记该图像的边框(应该与图像大小相同)。

如何使用 python docx 包格式化它?

最佳答案

似乎docx目前不支持这样的功能。由于您使用的是表格,因此您可能可以执行以下操作:

  1. 创建新的 Word 模板
  2. 定义自定义表格样式以及要放置图像的单元格的边框
  3. 在 Python 脚本中使用带有 docx 的模板,如下所示:document = Document('template.docx')
  4. 应用您刚刚创建的表格样式

请阅读this thread了解更多详情。

另一种方法可能不太优雅,但 100% 有效。您只需在图像周围创建一个边框,然后再在 docx 中使用它即可。您可以使用 PIL (对于 python2)或 Pillow (对于 pyhton3)模块进行图像操作。

from PIL import Image
from PIL import ImageOps
img = Image.open('img.png')
img_with_border = ImageOps.expand(img, border=1, fill='black')
img_with_border.save('img-with-border.png')

此代码将获取您的 img.png 文件并创建一个新的 img-with-border.png,其轮廓为 1px 黑色边框。只需在 run.add_picture 语句中使用 img-with-border.png 即可。

关于python - 内嵌图像周围的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34555705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com