Powerpoint"另存为图片"来自C#Microsoft.Office.Interop.PowerPoint

时间:2017-12-07 02:33:54

标签: c# powerpoint office-interop

我的问题与this one非常相似,我担心答案是一样的......我想将幻灯片上的所有形状/图像保存为单个png(或jpeg)。以编程方式,我得到了

slide.Shapes.SelectAll();

但是没有看到保存为图片的方法。这可能吗?如果没有,还有其他任何建议吗? (不是VBA - 我需要自动化整个转换)

在另一篇文章中有对OpenXML的引用,但我甚至不确定如何将其引入。

1 个答案:

答案 0 :(得分:0)

我不知道你是如何在C#中做到这一点的,但我猜你是否使用了与VBA相同的方法,你可以做到:

Activewindow.Selection.ShapeRange.Export( "c:\temp\delete-me.jpg",ppShapeFormatJPG)

ppShapeFormatJPG是PowerPoint常量,VBA Long = 1; IIRC是C#中的整数。

该方法还可以使用另外两个可选参数,scalewidth和scaleheight,它们以未记录的方式控制导出图像的宽度和高度。默认情况下,没有提供参数,我得到72 dpi的出口。较大的数字会导致像素数输出更高但比例失真。我确定它有一些奇怪的逻辑,但它逃脱了我;所有提示都欢迎!

还有第三个可选参数,即ExportMode。在我的测试中,无论您是否提供它都没有区别,如果您这样做,您选择哪个可用值。