使用 Syncfusion 将 .ppt 文件转换为 PDF 时出错

Error when converting .ppt file to PDF using Syncfusion

下面的代码可以毫无问题地将pptx文件转换为pdf文件。

try
{
    //Opens the specified presentation
    IPresentation presentation = Presentation.Open(@"D:\YUs\Test\pp2.pptx");
    presentation.ChartToImageConverter = new ChartToImageConverter();
    presentation.ChartToImageConverter.ScalingMode = Syncfusion.OfficeChart.ScalingMode.Best;
    PresentationToPdfConverterSettings settings = new PresentationToPdfConverterSettings();

    settings.ShowHiddenSlides = true;

    PdfDocument doc = PresentationToPdfConverter.Convert(presentation, settings);

    doc.Save(@"D:\YUs\Test\pp2.pdf");
    doc.Close();
}
catch (Exception err)
{
    Response.Write("error when saving presentation file: " + err.ToString() + "<br/><br/><br/>");
}

但是当我尝试使用代码转换 .ppt 文件时,return出现了这个错误:

Syncfusion.Compression.Zip.ZipException: Zip exception.Can't locate end of central directory record. Possible wrong file format or archive is corrupt. at Syncfusion.Compression.Zip.ZipArchive.Open(Stream stream, Boolean closeStream) at Syncfusion.Presentation.FileDataHolder.Open(Stream stream) at Syncfusion.Presentation.Presentation.SetArchieveItems(Stream stream) at Syncfusion.Presentation.Presentation.ParseDocument(Stream fileStream) at Syncfusion.Presentation.Presentation.OpenAsStream(Stream stream) at Syncfusion.Presentation.Presentation.Open(String fileName) at PUBLIC_ConvertOfficeToPdfNetOffice.Page_Load(Object sender, EventArgs e) in d:\ConvertOfficeToPdfNetOffice.aspx.cs:line 30

我试过许多不同的 PPT 文件,但它总是 return 相同的错误。

Syncfusion Essential Presentation 库仅支持操作 PPTX 文件,这就是您在尝试加载 PPT 文件时遇到此错误的原因。我们应该使错误消息更清楚,我们将进行此更改。

我们将来还会记录支持 PPT 文件的功能请求。