public static OpenXmlElement GetFormattedElement(Model.Paragraph paragraph)
        {
            Paragraph para = new Paragraph();
            para.Append(GetParagraphProperties(paragraph));

            foreach (Model.Element element in paragraph.SubElements)
            {
                if (element is Model.Text)
                {
                    Model.Text text = (Model.Text)element;
                    if (paragraph.Font != null && text.Font == null) text.Font = paragraph.Font;
                    para.Append(TextFormatter.GetFormattedElement(text));
                }
                else {
                    throw new InvalidSubFeatureException(paragraph.GetElementType().ToString(), element.GetElementType().ToString());
                }
            }

            return para;
        }
Пример #2
0
        /// <summary>
        /// Returns formatted OpenXmlElement[] representing given List instance
        /// </summary>
        /// <param name="list">List object</param>
        /// <returns></returns>
        public static IEnumerable<OpenXmlElement> GetFormattedElement(Model.List list)
        {
            List<OpenXmlElement> result = new List<OpenXmlElement>();

            int numStyleId = StyleCreator.AddNumberingStyle(list.Ordered, list.Label);

            foreach (Model.Element element in list.SubElements)
            {
                if (element.GetElementType() == Model.ElementType.ListItem)
                {
                    result.Add( GetListItem((Model.ListItem)element, numStyleId) );
                }
                else {
                    throw new InvalidSubFeatureException( list.GetElementType().ToString(), element.GetElementType().ToString());
                }
            }

            result.Add(new Paragraph());
            return result.AsEnumerable();
        }