/// <summary> /// Writes PDF text element into file stream /// </summary> /// <param name="text">PDF text element</param> internal void Write(TextElement text) { var escapedText = TextAdapter.FixEscapes(text.Content); var pdfStreamBuilder = new StringBuilder(); pdfStreamBuilder.AppendLine("q"); pdfStreamBuilder.AppendLine("BT"); pdfStreamBuilder.AppendFormatLine("{0} {1} Tf", text.Font.GetResourceReference(), TextAdapter.FormatFloat(text.FontSize)); pdfStreamBuilder.AppendFormatLine("{0} rg", text.Color.ToPdfString()); pdfStreamBuilder.AppendFormatLine("{0} {1} Td", TextAdapter.FormatFloat(text.X), TextAdapter.FormatFloat(text.Y)); pdfStreamBuilder.AppendFormatLine("({0}) Tj", escapedText); pdfStreamBuilder.AppendLine("ET"); pdfStreamBuilder.Append("Q"); writeStreamedObject(text.ObjectId, pdfStreamBuilder.ToString()); }
/// <summary> /// Add raw text to the page /// </summary> public TextElement AddText(string text, float fontSize, PdfFont font, PdfColor foreground) { var element = new TextElement(text, fontSize, font, foreground); Add(element); return element; }