我使用了以下代码设置目标文件中幻灯片的大小,打印也是对的,但是保存后打开目标文件的幻灯片大小和源文件不一致;
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
方法。
@aspose1111,
我们很高兴知道您的问题已经解决。感谢您使用 Aspose.Slides。