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

Free Support Forum - aspose.com

Bullet Height

I have seen several post about the .BulletHeight property not working.

No matter what I try I can not get the bullet height to shrink.

This is what I am doing:

par.BulletHeight = 55;
par.BulletColor = par.Portions[0].FontColor;
par.BulletType = BulletType.Symbol;
par.BulletFontIndex = 127;

How do you set the bullet height to 55% of the text?

Dear David,

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

Thanks for considering Aspose.Slides.

Below is the code that sets the bullet height 50% of its text height. Please see the attached presentation which is the output of this code.

C#

Presentation pres = new Presentation();

Slide sld = pres.GetSlideByPosition(1);

//Add a font for a bullet character

FontEntity newFont = new FontEntity(pres, pres.Fonts[0]);

newFont.FontName = "Wingdings";

newFont.CharSet = FontCharSet.SYMBOL_CHARSET;

int newFontIdx = pres.Fonts.Add(newFont);

//Add a TextFrame

Aspose.Slides.Shape shp = sld.Shapes.AddRectangle(100, 100, 4000, 2000);

shp.LineFormat.ShowLines = false;

//Set a text

TextFrame tf = shp.AddTextFrame("This is a paragraph.");

Paragraph para = tf.Paragraphs[0];

//Set font height

para.Portions[0].FontHeight = 45;

//Set the bullet

para.HasBullet=true;

para.BulletType = BulletType.Symbol;

para.BulletCharacter = Convert.ToChar(118);

para.BulletFontIndex = newFontIdx;

para.BulletHeight = 50;

//Write presentation on disk

pres.Write("c:\\outBulletHeight.ppt");

Your code works great when building a new slide however, I am working from a template. The template slide already has a TextFrame with a bullet (I really did not have a need to change this slide at all but the bullets on the slide [hollow square--wingding 113] changes to "q" and I need to change them back to the hollow square. I am using the following code to change the bullet back to the hollow square successfully but the size will not change to 50% of the text. PLEASE HELP!

FontEntity newFont = new FontEntity(presentation, presentation.Fonts[0]);
newFont.FontName = "Wingdings";
newFont.CharSet = FontCharSet.SYMBOL_CHARSET;
int newFontIdx = presentation.Fonts.Add(newFont);

foreach (object obj in slide.Shapes)
{
Aspose.Slides.Rectangle th = null;
if (obj is Aspose.Slides.Rectangle)
{
th = obj as Aspose.Slides.Rectangle;
}
else
{
continue;
}
if (th.TextFrame != null)
{
if (th.TextFrame.Text.StartsWith("_PROGRAM_PROJECT_ Status"))
{
foreach (Paragraph par in th.TextFrame.Paragraphs)
{
if (par.HasBullet && par.BulletCharacter == 113)
{
par.BulletType = BulletType.Symbol;
par.BulletCharacter = Convert.ToChar(113);
par.BulletColor = par.Portions[0].FontColor;
par.BulletFontIndex = newFontIdx;
par.BulletHeight = 50;
}
}
}
}
}

OK I solved my problem. The template was given to me by someone else so I decided to remake the slide and all is working now. The original problem of the bullets turning to "q" went away and even if I run my code against the slide all is well. I believe that whoever originally created the template used some non-standard way of getting the content in the slide...maybe cut-and -paste from another application.

Thanks,