Render a report using Aspose.Slides.ReportingServices.PptRenderer?

Hi, I'm evaluating Aspose.Slides for reporting services for purchase. What I'd like to do in one step is the following:

From a ReportViewer control, have a user run a Reporting Services report, then take the results of that and apply a PowerPoint template to it, and output it as a powerpoint presentation.

Sure, the user can do this manually- by downloading to PowerPoint using Aspose.Slides for Reporting Services, apply the template in the Presentation and save it, but I want to automate these steps. I've got code to apply a template programatically to a PowerPoint presentation using regular Aspose.Slides, but I want to automate the whole process in one 'click' to the user.

Is this possible?

Dear CCusson15,

I don’t think, it is possible, unless you can run user-defined code by programming SQL server itself.

However, I have forwarded your question to technical team; it will answer you as soon as possible and clarify you.

Hi Shakeel,

What I'd like to do is be able to call the Render or RenderStream methods of the Aspose.Slides.ReportingServices.PptRenderer object.

Then I'll grab the output stream from that, and apply the powerpoint template to the slides, and that should be all I need. Is this possible to call the Render method of the Aspose.Slides.ReportingServices.PptRenderer object?

And, to apply a template to a ReportingServices report, do I need to have both Aspose.Slides and Aspose.Slides for ReportingServices?


FYI, I got this to work with the following code. I just had to figure out what the type for Aspose PowerPoint presentation was! Here it is:

string rptType = "ASPPT"; // Aspose PowerPoint

Warning[] warnings = null;

RenderingExtension[] exts = ReportViewer1.ServerReport.ListRenderingExtensions();

// render the report

byte[] bytes = this.ReportViewer1.ServerReport.Render(

rptType, null, out mimeType, out encoding, out extension,

out streamids, out warnings);

then take the Bytes and pass it into a memstream or filestream, or whatever you'd like to.