Ejemplo n.º 1
0
        private static void DrawCenteredWrappingText(
            PdfCanvas canvas,
            string text,
            Rectangle rectangle,
            PdfFont font,
            Color color,
            float size)
        {
            const float textRotation = (float)(3 * Math.PI / 2);

            TextSharpHelpers.WriteWrappingTextInRectangle(canvas, text, rectangle, font, color, size, textRotation);
        }
        private static void DrawBeerName(Rectangle rectangle, Cursor topCursor, PdfContentByte canvas, Beer beer,
                                         BaseFont baseFont)
        {
            var textRectangle         = new Rectangle(rectangle.Left, rectangle.Bottom, rectangle.Right, topCursor.GetCurrent());
            var templateTextRectangle = new Rectangle(textRectangle.Height, textRectangle.Width);
            var template = canvas.CreateTemplate(templateTextRectangle.Width, templateTextRectangle.Height);
            var fontSize = TextSharpHelpers.GetMultiLineFontSize(canvas, beer.FullName, templateTextRectangle, baseFont, 12,
                                                                 Element.ALIGN_LEFT, Font.NORMAL) - .5f;
            var textFont = new Font(baseFont, fontSize, Font.NORMAL, BaseColor.BLACK);

            TextSharpHelpers.WriteWrappingTextInRectangle(template, beer.FullName, textFont, templateTextRectangle,
                                                          Element.ALIGN_LEFT);
            var angle = Math.PI / 2;

            canvas.AddTemplate(template,
                               (float)Math.Cos(angle), -(float)Math.Sin(angle),
                               (float)Math.Sin(angle), (float)Math.Cos(angle),
                               textRectangle.Left, textRectangle.Top);
        }