在.NET中保存演示文稿

保存演示文稿

打开演示文稿描述了如何使用Presentation类打开演示文稿。本文解释了如何创建和保存演示文稿。 Presentation类持有演示文稿的内容。无论是从头创建演示文稿还是修改现有演示文稿,完成后都希望保存演示文稿。使用Aspose.Slides for .NET,可以将其保存为文件。本文解释了如何以不同方式保存演示文稿:

将演示文稿保存为文件

通过调用Presentation类的Save方法将演示文稿保存为文件。只需将文件名和保存格式传递给Save方法。以下示例显示了如何使用C#和Aspose.Slides for .NET保存演示文稿。

// 实例化一个表示PPT文件的Presentation对象
Presentation presentation= new Presentation();

//...在这里做一些工作...

// 将您的演示文稿保存到文件
presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

将演示文稿保存为流

通过将输出流传递给Presentation类的Save方法,可以将演示文稿保存为流。有多种类型的流可以保存演示文稿。在下面的示例中,我们创建了一个新的演示文稿文件,在形状中添加文本,并将演示文稿保存到流中。

// 实例化一个表示PPT文件的Presentation对象
using (Presentation presentation = new Presentation())
{

    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200);

    // 向形状添加文本
    shape.TextFrame.Text = "此演示展示了如何创建PowerPoint文件并将其保存到流中。";

    FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create);
    presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx);
    toStream.Close();
}

保存具有预定义视图类型的演示文稿

Aspose.Slides for .NET提供了一种功能,可以在PowerPoint中打开生成的演示文稿时设置视图类型,通过ViewProperties类。LastView属性用于通过使用ViewType枚举来设置视图类型。

using (Presentation pres = new Presentation())
{
    pres.ViewProperties.LastView = ViewType.SlideMasterView;
    pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx);
}

将演示文稿保存为严格的Office Open XML格式

Aspose.Slides允许您将演示文稿保存为严格的Office Open XML格式。为此,它提供了Aspose.Slides.Export.PptxOptions类,您可以在保存演示文稿文件时设置Conformance属性。如果将其值设置为Conformance.Iso29500_2008_Strict,则输出的演示文稿文件将以严格的Office Open XML格式保存。

以下示例代码创建一个演示文稿并将其保存为严格的Office Open XML格式。在调用演示文稿的Save方法时,将**Aspose.Slides.Export.PptxOptions**对象传递给它,并将Conformance属性设置为Conformance.Iso29500_2008_Strict

   // 实例化一个表示演示文稿文件的Presentation对象
   using (Presentation presentation = new Presentation())
   {
       // 获取第一张幻灯片
       ISlide slide = presentation.Slides[0];

       // 添加一个类型为线的自动形状
       slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);

       // 将演示文稿保存为严格的Office Open XML格式
       presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx,
           new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict });

   }

将演示文稿保存为Zip64模式的Office Open XML格式

Office Open XML文件是一个ZIP存档,它在未压缩的文件大小、压缩的文件大小以及存档的总大小上有4 GB(2^32字节)的限制,存档中的文件限制为65,535(2^16-1)。ZIP64格式扩展可以将这些限制增加到2^64。

新的IPptxOptions.Zip64Mode属性允许您选择何时使用ZIP64格式扩展来保存Office Open XML文件。

该属性提供以下模式:

以下C#代码演示了如何使用ZIP64格式扩展将演示文稿保存为PPTX格式:

using (Presentation pres = new Presentation("Sample.pptx"))
{
    pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions()
    {
        Zip64Mode = Zip64Mode.Always
    });
}

以百分比形式保存进度更新

新的IProgressCallback接口已添加到ISaveOptions接口和SaveOptions抽象类中。IProgressCallback接口表示一个回调对象,用于以百分比形式保存进度更新。

以下代码片段展示了如何使用IProgressCallback接口:

using (Presentation presentation = new Presentation("ConvertToPDF.pptx"))
{
    ISaveOptions saveOptions = new PdfOptions();
    saveOptions.ProgressCallback = new ExportProgressHandler();
    presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions);
}
class ExportProgressHandler : IProgressCallback
{
    public void Reporting(double progressValue)
    {
        // 在此处使用进度百分比值
        int progress = Convert.ToInt32(progressValue);
        Console.WriteLine(progress + "% 文件已转换");
    }
}

打开和保存演示文稿

步骤:在C#中打开和保存演示文稿

  1. 创建一个Presentation类的实例,使用任何格式,即PPT、PPTX、ODP等。
  2. 将_Presentation_保存为SaveFormat支持的任何格式。
// 加载任何受支持的文件到Presentation,例如ppt、pptx、odp等。
Presentation presentation = new Presentation("Sample.odp");

presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx);