Sprawdzanie wyboru w formacie PDF z iText7 w .NET

głosy
0

Mam próbki PDF, ja wypełnić programowego jako takiego (z użyciem 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(); 

Jestem w stanie wypełnić pola tekstowe w formacie PDF, ale nie wypełnić radia przyciski / pola wyboru.

Rodzaj Aplikacja posiada dwie opcje w mojej cshtmlstronie:

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

i gdy patrzę przez słownika moje wartości, widzę, że są 3 opcje:

  1. Typ aplikacji
  2. TypeofApplication.1
  3. TypeofApplication.2

Jak ustawić pola wyboru jak checked = true.

Moja logika jest następująca:

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

Ale to oczywiście nie działa.

Utwórz 13/02/2020 o 21:53
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Więc po drodze I zdobione to: -

1) I otworzyła pdf, ustaw opcję jako sprawdzone i zapisaniu go w moim katalogu roboczego.
2) Następnie, programowo otwarty plik i kontroli wartości pola w następujący sposób: -

            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();

Teraz wiem, że wartość x, która jest pole zaznaczone. (Nowe lub wymienić). Użyłem tej techniki, aby znaleźć wszystkie możliwe wartości danej listy wyboru, Radiobutton, et cetera.

Odpowiedział 14/02/2020 o 00:15
źródło użytkownik

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