string GetOutlineTitle()
{
ParagraphIterator iter = new ParagraphIterator(this.paragraph.Elements);
iter = iter.GetFirstLeaf();
bool ignoreBlank = true;
string title = "";
while (iter != null)
{
DocumentObject current = iter.Current;
if (!ignoreBlank && (IsBlank(current) || IsTab(current) || IsLineBreak(current)))
{
title += " ";
ignoreBlank = true;
}
else if (current is Text)
{
title += ((Text)current).Content;
ignoreBlank = false;
}
else if (IsRenderedField(current))
{
title += GetFieldValue(current);
ignoreBlank = false;
}
else if (IsSymbol(current))
{
title += GetSymbol((Character)current);
ignoreBlank = false;
}
if (title.Length > 64)
break;
iter = iter.GetNextLeaf();
}
return title;
}