Hi,
Can you please help I want to fetch the styling property of a word within the shape is it possible to do that in Aspose slide java?
Below zip contains a presentation file for investigation. In that file I have to get styling details of “[dynamic]” word, details like font family, font size, color, bold, italic, etc.
assets.zip (23.2 KB)
I am using Aspose slide java version 20.4.
Thanks & Regards,
Saquib Shaikh.
@saquibs,
Please try using following sample code to serve the purpose.
public static void FetchTextProps()
{
String TextToFind="[dynamic]";
String path="C:\\Users\\mudas\\Downloads\\assets\\";
Presentation pres=new Presentation (path+"dynamicText.pptx");
for(ISlide slide: pres.getSlides())
{
for(IShape shape:slide.getShapes())
{
if(shape instanceof IAutoShape)
{
IAutoShape ashp=(IAutoShape)shape;
if(ashp.getTextFrame()!=null)
{
for(IParagraph para: ashp.getTextFrame().getParagraphs())
{
for(IPortion portion:para.getPortions())
{
if(portion.getText().compareTo(TextToFind)==0)
{
System.out.println("Text Found: "+portion.getText());
IPortionFormat format=portion.getPortionFormat();
System.out.println("Text Bold: "+format.getFontBold());
System.out.println("Text Italic: "+format.getFontItalic());
System.out.println("Text Font: "+format.getLatinFont().getFontName());
System.out.println("Text Color: "+format.getFillFormat().getSolidFillColor().getColor());
}
}
}
}
}
}
}
}
Hi, Thank you so much for the code snippet. I have worked with it but I have to inform you that it was not worked as per the expectation.
In given presentation file there are 6 shapes each of having “[dynamic]” word in a sentence but this code has only read a shape which is having only [dynamic] word.
I want to read each shape [dynamic] word styling from the sentence.
Thanks,
Saquib Shaikh
@saquibs,
Please try using following sample code on your end. There was text distribution issue in portion of text inside presentation.
public static void FetchTextProps()
{
int i=1;
String TextToFind="[dynamic]";
String path="C:\\Users\\mudas\\Downloads\\assets\\";
Presentation pres=new Presentation (path+"dynamicText.pptx");
pres.joinPortionsWithSameFormatting();
for(ISlide slide: pres.getSlides())
{
for(IShape shape:slide.getShapes())
{
if(shape instanceof IAutoShape)
{
IAutoShape ashp=(IAutoShape)shape;
if(ashp.getTextFrame()!=null)
{
for(IParagraph para: ashp.getTextFrame().getParagraphs())
{
for(IPortion portion:para.getPortions())
{
//System.out.println("Portion Text: "+portion.getText());
//if(portion.getText().compareTo(TextToFind)==0)
if(portion.getText().contains(TextToFind))
{
System.out.println("Text Found: "+portion.getText());
System.out.println("Instance "+i);
i++;
IPortionFormat format=portion.getPortionFormat();
System.out.println("Text Bold: "+format.getFontBold());
System.out.println("Text Italic: "+format.getFontItalic());
//System.out.println("Text Font: "+format.getLatinFont().getFontName());
System.out.println("Text Color: "+format.getFillFormat().getSolidFillColor().getColor());
System.out.println("\n\n");
}
}
}
}
}
}
}
}