Report Viewer and PPT or PPTX

Hello Aspose Support,

We are currently using Microsoft.Reporting.Webforms to render rdlc report to PDF and Excel format. But we want it in PPTX format.

Q1. Does Aspose have similar thing to do PPTX in addition to PDF and Excel, using local report so no SSRE Reporting Service is is involved.

If yes, Skip the rest. questions.

Q2. I googled and did find mentions that you have report viewer that can produce pptx WITH SQL server reporting service. Is it true?

Q3. We also found that Aspose.Slides.ReportingServices help support pptx generation for SQL server reporting service. But, to my understanding, the latest SQL Reporting service already support pptx. I think it is unnecessary to apply Aspose.Slides.ReportingServices just for the purpose of pptx. Correct?

Thanks,

John

@JohneonChen,
Welcome to our community! Thank you for posting the questions.
It will take me a while to prepare the information for you. I added a ticket with ID SLIDESRS-33668 in our issue tracking system. We will reply to you as soon as possible.

@JohneonChen,
Our development team investigated the issue. Currently, Aspose.Slides for Reporting Services does not provide the ability to add extensions to the ReportViewer component for local reports, but ReportViewer allows you to convert reports to RPL format, which can be converted to presentation files using Aspose.Slides for Reporting Services. Below is the code for such a transformation:

//Render a report to RPL 
renderedBytes = localReport.Render(
    reportType,
    deviceInfo,
    out mimeType,
    out encoding,
    out fileNameExtension,
    out streams,
    out warnings);

// export RPL to PPTX
MemoryStream pptxSteam = new MemoryStream();

RplRenderer renderer = new RplRenderer();
renderer.StartRendering(OutputPresentationFormat.Pptx, true, null, null, null);
    renderer.RenderPage(report);
    renderer.FinishRendering(pptSteam);

pptSteam.Position = 0;
// Save the PPTX stream to a file
using (FileStream pptSteam = new FileStream(@"D:/Export_PPT/Test.pptx", FileMode.Create))
{
    result.CopyTo(pptSteam);
}