Esempio n. 1
0
        private static RtfCharFormat addParagraphChunk(RtfParagraph par, string text, IFont font)
        {
            FontStruct fntStr = ((FontHandler)font).Handle;

            par.DefaultCharFormat.Font = fntStr.FD;

            int beg = par.Text.Length;

            par.Text.Append(text);
            int end = par.Text.Length - 1;

            RtfCharFormat fmt = par.addCharFormat(beg, end);

            fmt.Font     = fntStr.FD;
            fmt.FgColor  = fntStr.Color;
            fmt.FontSize = fntStr.Size;
            if (fntStr.Bold)
            {
                fmt.FontStyle.addStyle(FontStyleFlag.Bold);
            }
            if (fntStr.Underline)
            {
                fmt.FontStyle.addStyle(FontStyleFlag.Underline);
            }

            return(fmt);
        }
Esempio n. 2
0
        private static void AddListItem(string text, FontStruct fntStr)
        {
            RtfParagraph par = fDocument.addParagraph();

            var symFont = CreateFont("Symbol", fntStr.Size, fntStr.Bold, fntStr.Underline, fntStr.OriginalColor);

            AddParagraphChunk(par, "\t· ", symFont);
            AddParagraphChunk(par, text, fntStr);
        }
Esempio n. 3
0
        public override void addListItem(string text, IFont font)
        {
            RtfParagraph par = fDocument.addParagraph();

            FontStruct fntStr  = ((FontHandler)font).Handle;
            var        symFont = CreateFont("Symbol", fntStr.Size, fntStr.Bold, fntStr.Underline, fntStr.OriginalColor);

            addParagraphChunk(par, "\t· ", symFont);
            addParagraphChunk(par, text, font);
        }
Esempio n. 4
0
        private static void AddParagraph(string text, FontStruct font, Align alignment,
                                         float spacingBefore, float spacingAfter,
                                         float indent = 0.0f, bool keepTogether = false)
        {
            RtfParagraph par = fDocument.addParagraph();

            par.Alignment = alignment;

            var margins = par.Margins;

            margins[Direction.Top]    = spacingBefore;
            margins[Direction.Bottom] = spacingAfter;

            AddParagraphChunk(par, text, font);
        }
Esempio n. 5
0
        public override void addListItemLink(string text, IFont font, string link, IFont linkFont)
        {
            RtfParagraph par = fDocument.addParagraph();

            FontStruct fntStr  = ((FontHandler)font).Handle;
            var        symFont = CreateFont("Symbol", fntStr.Size, fntStr.Bold, fntStr.Underline, fntStr.OriginalColor);

            addParagraphChunk(par, "\t· ", symFont);
            addParagraphChunk(par, text, font);

            if (!string.IsNullOrEmpty(link))
            {
                RtfCharFormat fmt = addParagraphChunk(par, link, linkFont);
                fmt.LocalHyperlink = link;
            }
        }
Esempio n. 6
0
        private static FontStruct CreateFont(string name, float size, bool bold, bool underline, Color color)
        {
            if (string.IsNullOrEmpty(name))
            {
                name = "Times New Roman";
            }

            FontStruct fntStr = new FontStruct();

            fntStr.FD            = fDocument.createFont(name);
            fntStr.OriginalColor = color;
            fntStr.Color         = fDocument.createColor(new RtfColor(color));
            fntStr.Size          = size;
            fntStr.Bold          = bold;
            fntStr.Underline     = underline;
            return(fntStr);
        }
Esempio n. 7
0
        public override IFont CreateFont(string name, float size, bool bold, bool underline, IColor color)
        {
            if (string.IsNullOrEmpty(name))
            {
                name = "Times New Roman";
            }

            FontStruct fntStr = new FontStruct();

            fntStr.FD            = fDocument.createFont(name);
            fntStr.OriginalColor = color;
            fntStr.Color         = fDocument.createColor(new RtfColor(color.GetCode()));
            fntStr.Size          = size;
            fntStr.Bold          = bold;
            fntStr.Underline     = underline;

            return(new FontHandler(fntStr));
        }
Esempio n. 8
0
        private static void AddParagraphChunk(RtfParagraph par, string text, FontStruct fntStr)
        {
            par.DefaultCharFormat.Font = fntStr.FD;

            int beg = par.Text.Length;

            par.Text.Append(text);
            int end = par.Text.Length - 1;

            RtfCharFormat fmt = par.addCharFormat(beg, end);

            fmt.Font     = fntStr.FD;
            fmt.FgColor  = fntStr.Color;
            fmt.FontSize = fntStr.Size;
            if (fntStr.Bold)
            {
                fmt.FontStyle.addStyle(FontStyleFlag.Bold);
            }
            if (fntStr.Underline)
            {
                fmt.FontStyle.addStyle(FontStyleFlag.Underline);
            }
        }