Hi - I am able to get the alternative text from a shape that is in a master slide and then created in a slide from that master. Question is - can I get the alternative text from a general text box that is not contained in the master slide. If so how? I cannot seem to get that information.
Hi John,
Yes thank you. Here is a source code snippet and I have attached the powerpoint file. That file has a master slide that contains the text box placholders for ‘Risk Title’ and ‘Risk Owner’ and those work. What I am now trying to do is insert another simple text box called ‘Company’ (not a placeholder on the master slide - it is on the second slide). But I cannot set data in that new textbox using the code below…
Presentation target = new Presentation(dataDir + “Presentation2.pptx”);
ISlide slide = target.getSlides().get_Item(0);
Shape shape = null;
for(int i=0; i < slide.getShapes().size(); i++)
{
shape = (Shape)slide.getShapes().get_Item(i);
if(shape.getPlaceholder()!=null)
{
if(shape.getAlternativeText().equals(“Risk Title”))
((IAutoShape)shape).getTextFrame().setText(“riskTitle”);
else if(shape.getAlternativeText().equals(“Risk Owner”))
((IAutoShape)shape).getTextFrame().setText(“riskOwner”);
else if(shape.getAlternativeText().equals(“Company”))
((IAutoShape)shape).getTextFrame().setText(“New Company Text”);
}
}
Hi John,
I have observed your comments and the presentation file shared by you. I would like to share with you that the mistake you are making is that, you are setting the Alternative Text in Title field whereas it needs to be set in ‘Description’ field instead of ‘Title’ field. (see image “reason.JPG” attached for red color marked explanation). You may set Alternative text of shape by PowerPoint or programatically, while using Aspose.Slides for Java as explained in this article. Then you can find a shape to remove it or to replace text.
I hope this will be helpful. Please let us know if the issue persists. We will be happy to assist you further.
Best Regards,
Right - that was one error on my part. Once that was fixed (it was correct in other text boxes on the slide) the solution I was looking for was that I did not need to check
if(shape.getPlaceholder()!=null)
if the text box was not a place holder then this would never be true.
Hi John,
I was able to figure out my problem.
If you are reading in a powerpoint file and need to fill in text then you do not need to use a master slide and placeholders.
You can simply insert a textbox and set the alternative text on it. Then use that alternative text to reference the textbox to set the text.
Hi John,