Ellenőrzés jelölőnégyzetei egy PDF iText7 .NET

szavazat
0

Van egy PDF minta, hogy én kitöltése algoritmikusan mint olyan (a 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(); 

Én képes kitölteni a szövegdobozok a pdf, de nem kell kitölteni a rádió gombok / jelölőnégyzeteket.

A kérelem típusa két lehetőség van az én cshtmloldalon:

@Html.RadioButton(Application_Type, New) New 
@Html.RadioButton(Application_Type, Renew) Renewal 

és amikor végignéztem a szótárhoz értékek, látom, hogy van 3 lehetőség:

  1. Alkalmazás típusa
  2. TypeofApplication.1
  3. TypeofApplication.2

Hogyan lehet beállítani a négyzeteket, mint checked = true.

Saját logika a következő:

if(dr.Application_Type == New){
    fields.TryGetValue(TypeofApplication.1, out toSet);
    toSet.SetValue(/On);}

De ez nyilván nem működik.

A kérdést 13/02/2020 23:53
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

Tehát ahogy én jöttem rá: -

1) Kinyitottam a pdf, állítsa be a négyzetet, ellenőrzött, és mentette az én munkaterület mappára.
2) Aztán programozott megnyitotta a fájlt, és megvizsgálta a mező értéke, mint például: -

            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;
            fields.TryGetValue("TypeofApplication", out toSet);
            var x = toSet.GetValueAsString();

Most már tudom, az x értékét, ami az ellenőrzött területen. (Új vagy felújítás). Régebben ezt a technikát, hogy megtalálja az összes érték lehet bármely adott négyzetet, RadioButton lista, satöbbi.

Válaszolt 14/02/2020 02:15
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more