public static List <iText.Layout.Element.IElement> ToIText(this CanvasControl control) { List <iText.Layout.Element.IElement> list = new List <iText.Layout.Element.IElement>(); if (control is CanvasRichTextBox rtb) { list.Add(rtb.ToIText()); } else if (control is CanvasImage image) { list.Add(image.ToIText()); } else if (control.GetType().IsSubclassOf(typeof(CanvasVariable))) { CanvasVariable cv = control as CanvasVariable; list.Add(cv.ToIText()); } else { Logger.Log(Severity.ERROR, LogCategory.CONTROL, "Conversion from " + control.GetType().ToString() + " to iText element array not implemented."); } return(list); }
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); }