Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set image size in powerpoint using open xml

Im am generating a ppt-file using this tutorial here

Step 4 describes how to swap out the image placeholder. My images has different dimensions, which makes some images look a little bit too funny.

Is there any way to resize the placeholder so it can keep the dimensions?

Edit: Ok, a better explanation: users can upload images of them selves. The images are stored on the server. I am generating a ppt-file with one user per slide. And for every slide there will be an image, if any. I can of course get the dimensions of every image, but how do I replace the placeholder with an image of another dimension than the placeholder?

like image 538
Mr. Powerpoint Avatar asked Jan 29 '26 06:01

Mr. Powerpoint


1 Answers

Well, I can't tell you based on that tutorial, but I can tell you where it is done in Open XML (i.e. not the SDK).

Your picture will have an xfrm element with a set of values, like this:

    <p:spPr>
      <a:xfrm>
        <a:off x="7048050" y="6248401"/>
        <a:ext cx="972000" cy="288000"/>
      </a:xfrm>
    </p:spPr>

The values you want to change are the cx and cy of a:ext. Take your new picture's dimensions (h and w) from like a System.Drawing.Image object and take each of the values and multiply by 12700. So if the width of the picture is 400 pixels, the cx value of a:ext will be (400 x 12700 = 5080000).

like image 75
Todd Main Avatar answered Jan 31 '26 20:01

Todd Main



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!