public void drawMultiLineOfText(PdfFormField field, string text, BaseFont font, float fontSize, float llx, float lly, float urx, float ury)
        {
            PdfContentByte da = new PdfContentByte(writer);

            da.setFontAndSize(font, fontSize);
            da.resetRGBColorFill();
            field.DefaultAppearancestring = da;
            PdfContentByte cb = writer.DirectContent;

            cb.moveTo(0, 0);
            PdfAppearance tp = cb.createAppearance(urx - llx, ury - lly);

            tp.drawTextField(0f, 0f, urx - llx, ury - lly);
            tp.beginVariableText();
            tp.saveState();
            tp.rectangle(3f, 3f, urx - llx - 6f, ury - lly - 6f);
            tp.clip();
            tp.newPath();
            tp.beginText();
            tp.setFontAndSize(font, fontSize);
            tp.resetRGBColorFill();
            tp.setTextMatrix(4, 5);
            System.util.StringTokenizer tokenizer = new System.util.StringTokenizer(text, "\n");
            float yPos = ury - lly;

            while (tokenizer.hasMoreTokens())
            {
                yPos -= fontSize * 1.2f;
                tp.showTextAligned(PdfContentByte.ALIGN_LEFT, tokenizer.nextToken(), 3, yPos, 0);
            }
            tp.endText();
            tp.restoreState();
            tp.endVariableText();
            field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, tp);
        }