AddClone方法保存的目标文件(ppt文件)中的幻灯片大小和源文件不一致

我使用了以下代码设置目标文件中幻灯片的大小,打印也是对的,但是保存后打开目标文件的幻灯片大小和源文件不一致;

SizeF srcSize = sourcePresentation.SlideSize.Size;
SizeF dstSize = destPresentation.SlideSize.Size;
dstSize.Width = srcSize.Width;
dstSize.Height = srcSize.Height;

源代码如下:
代码.zip (836 字节)

源文件(1.pptx)和目标文件(2.pptx)如下:
ppt文件.zip (1.2 MB)

源文件如下:
image.png (72.0 KB)

目标文件如下:
image.png (77.2 KB)

@aspose1111,
感谢您联系支持。

要为 PowerPoint 演示文稿设置幻灯片大小,您应该像这样使用 ISlideSize 接口的 SetSize 方法:

destPresentation.SlideSize.SetSize(
    srcSize.Width, srcSize.Height, SlideSizeScaleType.DoNotScale);

在您的情况下,以下是一个完整的代码示例:

Presentation sourcePresentation = new Presentation("1.pptx");
Presentation destPresentation = new Presentation();

if (destPresentation.Slides.Count > 0 && destPresentation.Slides[0].Shapes.Count == 0)
{
    destPresentation.Slides.RemoveAt(0);
}

SizeF srcSize = sourcePresentation.SlideSize.Size;
destPresentation.SlideSize.SetSize(srcSize.Width, srcSize.Height, SlideSizeScaleType.DoNotScale);

for (int i = 0; i < sourcePresentation.Slides.Count; i++)
{        
    ISlide sourceSlide = sourcePresentation.Slides[i];
    ISlide destSlide = destPresentation.Slides.AddClone(sourceSlide);

    destSlide.Background.Type = sourceSlide.Background.Type;
    destSlide.Background.FillFormat.FillType = sourceSlide.Background.FillFormat.FillType;
    destSlide.Background.FillFormat.SolidFillColor.Color = sourceSlide.Background.FillFormat.SolidFillColor.Color;
    destSlide.Background.StyleColor.Color = sourceSlide.Background.StyleColor.Color;
}

destPresentation.Save("2.pptx", SaveFormat.Pptx);

请注意,您应该在最后释放 Presentation 对象:您应该使用 using 语句或调用 Dispose 方法。

ok,感谢解答,大小正常了

@aspose1111,
我们很高兴知道您的问题已经解决。感谢您使用 Aspose.Slides。