コード例 #1
0
        /// <summary>
        /// Returns a OpenXMl paragraph representing formatted listItem.
        /// </summary>
        /// <param name="item">listItem object</param>
        /// <param name="numStyleId">style id to use</param>
        /// <returns></returns>
        private static Paragraph GetListItem(Model.ListItem item, int numStyleId)
        {
            Paragraph listItemPara = new Paragraph();

            ParagraphProperties paraProps = new ParagraphProperties();

            NumberingProperties numberingProps = new NumberingProperties();
            NumberingLevelReference numberingLevelReference = new NumberingLevelReference() { Val = 0 };

            NumberingId numberingId = new NumberingId() { Val = numStyleId };

            numberingProps.Append(numberingLevelReference);
            numberingProps.Append(numberingId);
            paraProps.Append(numberingProps);

            Run listRun = new Run();
            Text listItemText = new Text()
            {
                Text = item.Body
            };
            listRun.Append(listItemText);

            listItemPara.Append(paraProps);
            listItemPara.Append(listRun);

            return listItemPara;
        }
コード例 #2
0
        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;
        }