有没有办法在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 package
格式化它?
答案 0 :(得分:1)
似乎docx
目前不支持此类功能。
由于您使用的是表,您可能会做的是以下内容:
docx
一起使用,如下所示:document = Document('template.docx')
请阅读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
文件并创建一个带有1px黑色边框的新img-with-border.png
。您可以在img-with-border.png
语句中使用run.add_picture
。
答案 1 :(得分:0)
vrs在评论中提到,最简单的解决方案是:
{{1}}
并将图片添加到“运行”中。