【发布时间】:2016-01-30 13:46:04
【问题描述】:
我一直在使用 iTextSharp 生成可编辑 PDF。
问题:
我想在表格的列中创建一个Radio Group字段。
我试过了,我的代码是:
//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);
我得到了男性和女性文本(不是无线电圈字段),但它位于某处而不是表格内。
请帮我把 Radiogroup 放到桌子里。
【问题讨论】:
标签: c# .net pdf-generation itextsharp