Lis*_*isa 1 python powerpoint python-pptx
python-pptx包的新功能。 https://python-pptx.readthedocs.io/en/latest/ 想要将图片插入PowerPoint。如何设置图片的宽度和高度?
我现在拥有的代码:
from pptx import Presentation
from pptx.util import Inches
img_path = 'monty-truth.png'
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)
left = top = Inches(1)
pic = slide.shapes.add_picture(img_path, left, top)
prs.save('test.pptx')
Run Code Online (Sandbox Code Playgroud)
的参数add_picture是:
add_picture(image_file, left, top, width=None, height=None)
Run Code Online (Sandbox Code Playgroud)
要设置图片的宽度和高度,您只需要使用定义这些参数即可。在我的一个项目中,通过以下设置,我得到了很好的图片高度和位置:
pic = slide.shapes.add_picture(img_path, pptx.util.Inches(0.5), pptx.util.Inches(1.75),
width=pptx.util.Inches(9), height=pptx.util.Inches(5))
Run Code Online (Sandbox Code Playgroud)
看起来这个细节不知何故从文档中掉了出来,丽莎,我很高兴你指出了这一点。
示例中没有出现宽度和高度的原因是因为它们是可选的。如果未提供,图片将以其“本机”(完整)尺寸插入。
可能更常见的是只提供这两个中的一个,然后python-pptx为您进行数学计算以制作未指定的尺寸,例如将保留纵横比。所以如果你有一张大图,比如 4 x 5 英寸,并且想把它缩小到 1 英寸宽,你可以调用:
from pptx.util import Inches
pic = shapes.add_picture(image_path, left, top, Inches(1))
Run Code Online (Sandbox Code Playgroud)
并且图片的大小将变为 1 x 1.25(在这种情况下),而您不必确切知道原件的尺寸。保留纵横比可以防止图片看起来“拉伸”,在这种情况下,如果您将其设置为 1 x 1 英寸,就会出现这种情况。
同样的事情只适用于指定高度,如果你知道你希望它出现多高并且不想大惊小怪地计算出比例宽度。
如果您同时指定宽度和高度,这就是您将获得的尺寸,即使这意味着图像在此过程中会变形。
| 归档时间: |
|
| 查看次数: |
5228 次 |
| 最近记录: |