public void DrawCheckBoxAppearences(PdfFormField field, string value, float llx, float lly, float urx, float ury)
{
BaseFont font = BaseFont.CreateFont(BaseFont.ZAPFDINGBATS, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
float size = (ury - lly);
PdfContentByte cb = writer.DirectContent;
PdfAppearance tpOn = cb.CreateAppearance(urx - llx, ury - lly);
PdfAppearance tp2 = (PdfAppearance)tpOn.Duplicate;
tp2.SetFontAndSize(font, size);
tp2.ResetRGBColorFill();
field.DefaultAppearanceString = tp2;
tpOn.DrawTextField(0f, 0f, urx - llx, ury - lly);
tpOn.SaveState();
tpOn.ResetRGBColorFill();
tpOn.BeginText();
tpOn.SetFontAndSize(font, size);
tpOn.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "4", (urx - llx) / 2, (ury - lly) / 2 - (size * 0.3f), 0);
tpOn.EndText();
tpOn.RestoreState();
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, value, tpOn);
PdfAppearance tpOff = cb.CreateAppearance(urx - llx, ury - lly);
tpOff.DrawTextField(0f, 0f, urx - llx, ury - lly);
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
}