We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Automating placeholders in Slides for Reporting Services

How can I tag the texbox in report definition that the content of it will go to the textholder (tilte, subtitle, footer etc. ) instead of creating a independend TextFrame?

I would like to apply the Slide Master template after creating of slide using Slides for Reporting Services which has title and subtitle placeholders. After aplying that I have placeholders separate from textboxes from report.

What could be a possible solution for this?

Kind regards,
Bartosz Potoczny

Dear Bartosz,

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Aspose.Slides for RS will generate presentation according to your RDL file. If you want to have a programmatic control then you will have to use Aspose.Slides for .NET. These are two separate components.

With the earlier, you have to design the RDL report with images, backgrounds or formatting and then create the presentation. However, with later you can change template after creation of slides.

Thank you Shakeel for explanation,

I have already tested Aspose.Slides library ( and Aspose.Slides for Reporting Services ( to achieve this goal and unfortunately I have some issues which I can’t solve:

I have tried to clone the output from Reporting Services PPT using CloneSlide method. I used the my own manually created master template from which i copied Master Slide with title slide and the first title page. Now I cloned all RS output and applied the master template to all slides. I used ChangeMaster method. Everything is fine but on the new cloned slides there is no Placeholders - either phisically on PPT and in the Placeholders collection. Interesting is fact that if you apply in new created file manually in Powerpoint again the BodyAndText layout the placeholders appear micarly.

I would like to move the content from some TextFrames produced by Reporting Services to TextHolders from Master Slide but I can’t. Please advise.

Best regards
Bartosz Potoczny

I would need your source presentation the one you generated from Reporting Services and template presentation, the one whose template you want to apply, to investigate it.

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

However, did you check the code in this thread?


I am using standard CloneSlides sample with these two input files attached as the first two arguments.

The result in Output PPT file on the first TextAndBody slide is that it has only the original Input_RS content without any placeholders from master slide. They are also inaccessible in the Placeholders collection (count 0).

Actually, the text shapes in Input_RS.ppt are textframes and not placeholders, so they don’t change formatting/position when some other master slide is applied on it.

You are completely right, but the Input_RS.ppt file was created by your Reporting Services extension. I started my post with the fundamental question how could I produce/activate placeholders in Reporting Services output. You said the .NET library has to be used. The question is then HOW.


It is not possible to create placeholders from scratch in Aspose.Slides for .Net or export text to placeholders in Reporting Services.

The right way is use standard rectangle with TextFrame inside and set all rectangle properties directly in RDL report. Sure, after that you can change additional rectangle properties or text formatting with Aspose.Slides for .Net but I wouldn’t suggest changing masters.

Thank you Alexey,

My need is to move some content from TextFrames in Reporting Services
output to placeholders defined in external MasterSlide. When people refresh Slides layoult in RS oputput the placeholders appear overlapping TextFrames and it looks really bad. My ideas to overcome this were as follows:

1. Apply new external MasterSlide to the
RS ouptput, and move some content to the placeholders. Problem: there
is no placeholders in the output and I can’t create these.

2. Clone some sample master slide with placeholders as a
base and copy/move the rest of the shapes from RS output. Problem: The
output from Aspose RS extension (1.1.5) change all TextBoxes to Tables which
don’t support serialisation.

Any solutions?

In the second case you can use Aspose.Slides for RS 2.* versions.
It doesn’t create any tables so you can copy/move/serialize everything.

May be it’s better to delete placeholders from master slide or from created slide
and replace it also with text frames? Format of these placeholders can be taken
from master programmatically and moved to text frames if necessary.

This sounds good but, the 2.0… versions don’t create correct slide size in my case and the 1.1.5. is the only one which works correctly. I pointed this problem in another e-mail and still waiting for solution of this. I attach the test RDL for reference.

Removing master placeholders is a solution but I need then use two masterslides with and without placeholders. Why is a problem to create placeholders from scratch?

Problem with slide size in 2.0 will be fixed soon.
There is also problem with calculating size of matrices which should be fixed before.

If you can use 2 master slides then it should be the best solution.

Each placeholder has 2 parts stored in the different places.
The first one is normal shape and stored in a slide.
The second is set of records in common Document record of ppt file.
Reproducing correct structure of the second part from scratch didn’t give a good results yet.
MS PowerPoint doesn’t usually open created ppt files.

I think I understand it now and I will find out a workaround.
However, I look forward in receiving new update of 2… version.

Thank you very much for your responsive support.

Thanks Alexey for new update. The problem with the sizing seems to be fixed now. That was really quick

So I am starting to work on version. However, I found some new small bugs which I will report to another post. Should I create a new one or there is some standard bug reporting threads?

Yes, please create new thread.