public static iText.Layout.Element.Paragraph ToIText(this CanvasVariable csd)
        {
            var info    = new UIElementInfo(csd.Label, csd.Canvas);
            var textBox = new iText.Layout.Element.Text(csd.Label.Content as string);

            textBox.SetFontSize((float)(csd.Label.FontSize.ToITextPoint()));
            textBox.SetFont(GetFont(csd.Label.FontFamily.Source));
            var paragraph = new iText.Layout.Element.Paragraph(textBox);

            paragraph.SetFixedPosition(info.Left, info.Bottom, iText.Layout.Properties.UnitValue.CreatePercentValue(100));
            return(paragraph);
        }
        public static iText.Layout.Element.Paragraph ToIText(this CanvasRichTextBox canvasTextBox)
        {
            var info = new UIElementInfo(canvasTextBox.TextBox, canvasTextBox.Canvas);
            var text = new TextRange(canvasTextBox.TextBox.Document.ContentStart,
                                     canvasTextBox.TextBox.Document.ContentEnd).Text;
            var textBox = new iText.Layout.Element.Text(text);

            textBox.SetFontSize((float)(canvasTextBox.TextBox.FontSize.ToITextPoint()));
            textBox.SetFont(GetFont(canvasTextBox.TextBox.FontFamily.Source));
            var   paragraph    = new iText.Layout.Element.Paragraph(textBox);
            float magicPadding = 17f;             // Some sort of rtf padding that is hard to pin-point

            paragraph.SetFixedPosition(info.Left, info.Bottom - magicPadding, iText.Layout.Properties.UnitValue.CreatePercentValue(100));
            paragraph.SetMultipliedLeading(0.9f);
            paragraph.SetWidth(info.ElementWidth * 1.3f);
            paragraph.SetHeight(info.ElementHeight * 1.3f);
            return(paragraph);
        }