using System; using System.Collections.Generic; using System.Text; using System.Drawing; using iTextSharp.text.pdf; using iTextSharp.text; using VEPROMS.CSLA.Library; namespace Volian.Print.Library { public partial class vlnHeader: vlnText { private string _OrigStr; public float HeaderWidth { get { return _WidthAdjust + (MyFont.CharsToTwips * Text.Length); } } public vlnHeader(vlnParagraph myParent, PdfContentByte cb, string origStr, string cleanStr, float xoffset, float yoffset, VE_Font vFont) { MyParent = myParent; MyContentByte = cb; YOffset = yoffset; Width = MyParent.Width; Text = cleanStr; _OrigStr = (origStr.StartsWith(" ") && !origStr.Contains(@"\"))?origStr:null; Rtf = GetRtf(origStr, vFont); XOffset = xoffset; MyFont = vFont; } public override float ToPdf(PdfContentByte cb, float yPageStart, ref float yTopMargin, ref float yBottomMargin) { string fontFace = MyFont.WindowsFont.Name; int fontStyle = (MyFont.WindowsFont.Bold ? iTextSharp.text.Font.BOLD : 0) + (MyFont.WindowsFont.Italic ? iTextSharp.text.Font.ITALIC : 0); iTextSharp.text.Font itextFont = Volian.Svg.Library.Svg.GetFont(fontFace, MyFont.WindowsFont.Size, fontStyle, System.Drawing.Color.Black); float hdrwidth = itextFont.BaseFont.GetWidthPoint(Text, MyFont.WindowsFont.Size); if (_OrigStr != null) hdrwidth = itextFont.BaseFont.GetWidthPoint(_OrigStr, MyFont.WindowsFont.Size); hdrwidth += 5; float yLocation = CalculateYOffset(yPageStart, yTopMargin); Rtf2Pdf.TextAt(cb, IParagraph, XOffset, yLocation, hdrwidth, 100, "", yBottomMargin); return yPageStart; } } }