Tengo un pdf de la muestra, que estoy llenando a cabo mediante programación como tal (usando iText7): -
string name = TextBox1.Text.ToString();
string pdfTemplate = @..\WebApplication1\Sample.pdf;
string newFile = @..\WebApplication1\completed_sample.pdf;
PdfDocument pdf = new PdfDocument(new PdfReader(pdfTemplate).SetUnethicalReading(true), new PdfWriter(newFile));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
// This doesn't work //
fields.TryGetValue(TypeofApplication.1, out toSet);
toSet.SetValue(/On);
// This works //
fields.TryGetValue(FullName, out toSet);
toSet.SetValue(name);
form.FlattenFields();
pdf.Close();
Soy capaz de llenar los cuadros de texto en el PDF, pero no para llenar los botones de radio / casillas de verificación.
Tipo de aplicación tiene dos opciones en mi cshtml
página:
@Html.RadioButton(Application_Type, New) New
@Html.RadioButton(Application_Type, Renew) Renewal
y cuando miro a través del diccionario de mis valores, veo que hay 3 opciones:
- Tipo de aplicacion
- TypeofApplication.1
- TypeofApplication.2
¿Cómo se configuran como las casillas de verificación checked = true
.
Mi lógica es la siguiente:
if(dr.Application_Type == New){
fields.TryGetValue(TypeofApplication.1, out toSet);
toSet.SetValue(/On);}
Pero esto, obviamente, no funciona.