コード例 #1
0
        /// <summary>
        /// Converts the paragraph styles.
        /// </summary>
        /// <param name="paragraph">The paragraph.</param>
        /// <param name="paragraphPDF">The paragraph PDF.</param>
        /// <returns>The iText paragraph with converted styles</returns>
        public static ParagraphExt ConvertParagraphStyles(
            AODL.Document.Content.Text.Paragraph paragraph,
            ParagraphExt paragraphPDF)
        {
            try
            {
                if (paragraph.Style != null)
                {
                    if (paragraph.Style is ParagraphStyle &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties != null)
                    {
                        paragraphPDF.Alignment = (ParagraphPropertyConverter.GetAlignMent(
                                                      ((ParagraphStyle)paragraph.Style).ParagraphProperties.Alignment));
                    }

                    if (paragraph.Style is ParagraphStyle &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties != null &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties.BreakAfter != null &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties.BreakAfter.ToLower() == "page")
                    {
                        paragraphPDF.PageBreakAfter = true;
                    }

                    if (paragraph.Style is ParagraphStyle &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties != null &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties.BreakBefore != null &&
                        ((ParagraphStyle)paragraph.Style).ParagraphProperties.BreakBefore.ToLower() == "page")
                    {
                        paragraphPDF.PageBreakBefore = true;
                    }
                }
                return(paragraphPDF);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        /// <summary>
        /// Converts the specified paragraph.
        /// </summary>
        /// <param name="paragraph">The paragraph.</param>
        /// <returns>The PDF paragraph.</returns>
        public static iTextSharp.text.Paragraph Convert(AODL.Document.Content.Text.Paragraph paragraph)
        {
            try
            {
                iTextSharp.text.Font font;
                if ((ParagraphStyle)paragraph.Style != null &&
                    ((ParagraphStyle)paragraph.Style).TextProperties != null &&
                    ((ParagraphStyle)paragraph.Style).TextProperties.FontName != null)
                {
                    font = TextPropertyConverter.GetFont(
                        ((ParagraphStyle)paragraph.Style).TextProperties);
                }
                else
                {
                    font = DefaultDocumentStyles.Instance().DefaultTextFont;
                }

                ParagraphExt paragraphPDF = new ParagraphExt("", font);
                foreach (object obj in paragraph.MixedContent)
                {
                    if (obj is AODL.Document.Content.Text.FormatedText)
                    {
                        paragraphPDF.Add(FormatedTextConverter.Convert(
                                             obj as AODL.Document.Content.Text.FormatedText));
                    }
                    if (obj is AODL.Document.Content.Text.SimpleText)
                    {
                        paragraphPDF.Add(SimpleTextConverter.Convert(
                                             obj as AODL.Document.Content.Text.SimpleText, font));
                    }
                    else if (obj is AODL.Document.Content.Text.TextControl.TabStop)
                    {
                        paragraphPDF.Add(SimpleTextConverter.ConvertTabs(
                                             obj as AODL.Document.Content.Text.TextControl.TabStop, font));
                    }
                    else if (obj is AODL.Document.Content.Text.TextControl.WhiteSpace)
                    {
                        paragraphPDF.Add(SimpleTextConverter.ConvertWhiteSpaces(
                                             obj as AODL.Document.Content.Text.TextControl.WhiteSpace, font));
                    }
                    else if (obj is AODL.Document.Content.Draw.Frame)
                    {
                        DrawFrameConverter dfc = new DrawFrameConverter();
                        paragraphPDF.Add(dfc.Convert(
                                             obj as AODL.Document.Content.Draw.Frame));
                    }
                    else if (obj is AODL.Document.Content.Draw.Graphic)
                    {
                        ImageConverter ic = new ImageConverter();
                        paragraphPDF.Add(ic.Convert(
                                             obj as AODL.Document.Content.Draw.Graphic));
                    }
                }
                paragraphPDF = ParagraphConverter.ConvertParagraphStyles(paragraph, paragraphPDF);
                // add new line
                paragraphPDF.Add(iTextSharp.text.Chunk.NEWLINE);
                return(paragraphPDF);
            }
            catch (Exception)
            {
                throw;
            }
        }