I have been working with the generation of Editable PDF using iTextSharp
.
Problem:
I want to create a Radio Group field inside a column of a table.
I tried and my code is:
//Gender section starts here --->
//Table creation
PdfPTable genderFieldTable = new PdfPTable(1);
genderFieldTable.HorizontalAlignment = 0;//0=Left, 1=Centre, 2=Right
genderFieldTable.DefaultCell.FixedHeight = 100f;
genderFieldTable.TotalWidth = 400;
genderFieldTable.LockedWidth = true;
//Creating the RadioButton group starts here ---->
PdfFormField _radioGroup = PdfFormField.CreateRadioButton(pdfWriter, true);
_radioGroup.FieldName = "Gender";
string[] genders = { "Male", "Female" };
RadioCheckField genderRadioCheckField = null;
PdfFormField radioGField;
for (int i = 0; i < genders.Length; i++)
{
genderRadioCheckField = new RadioCheckField(pdfWriter, new Rectangle(200, 806, 170, 890), null, genders[i]);
//,,40, 806 - i * 40, 60, 788 - i * 40
genderRadioCheckField.BackgroundColor = BaseColor.LIGHT_GRAY;
genderRadioCheckField.Rotation = 180;
genderRadioCheckField.CheckType = RadioCheckField.TYPE_CIRCLE;
radioGField = genderRadioCheckField.RadioField;
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, new Phrase(genders[i], new Font(Font.FontFamily.HELVETICA, 8)), 70, 790 - i * 40, 0);
_radioGroup.AddKid(radioGField);
}
//pdfWriter.AddAnnotation(_radioGroup);
iTextSharp.text.pdf.events.FieldPositioningEvents genderEvents
= new iTextSharp.text.pdf.events.FieldPositioningEvents(pdfWriter, genderRadioCheckField.RadioField);
PdfPCell genderFieldCell = new PdfPCell();
genderFieldCell.FixedHeight = 75f;
genderFieldCell.CellEvent = genderEvents;
genderFieldTable.AddCell(genderFieldCell);
formTable.AddCell(genderFieldTable);
I got the Male and Female text(not the radio circle field), but it is located somewhere and not inside the table.
Please help me to get Radiogroup inside the table.