public async Task <IActionResult> PutFormDataItems(string id, FormDataItems formDataItems)
        {
            if (id != formDataItems.user_id)
            {
                return(BadRequest());
            }

            _context.Entry(formDataItems).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FormDataItemsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <FormDataItems> > PostFormDataItems(FormDataItems formDataItems)
        {
            _context.FormDataItems.Add(formDataItems);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (FormDataItemsExists(formDataItems.user_id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetFormDataItems", new { id = formDataItems.user_id }, formDataItems));
        }
示例#3
0
        public static void WriteAcroForm(string input_file_path, string output_file_path, FormDataItems item)
        {
            //string src = @"C:\Users\timit\Source\Repos\tttimit\pdf_csharp\Pdf\1022.pdf";
            //string dest = @"C:\Users\timit\Source\Repos\tttimit\pdf_csharp\Pdf\Pdfout.pdf";


            PdfReader reader = new PdfReader(input_file_path);

            reader.SetUnethicalReading(true);
            PdfWriter   writer = new PdfWriter(output_file_path);
            PdfDocument pdfDoc = new PdfDocument(reader, writer);
            PdfAcroForm form   = PdfAcroForm.GetAcroForm(pdfDoc, true);

            IDictionary <string, PdfFormField> fields = form.GetFormFields();//这样获取的是没有顺序的数据

            string[] relationsCheckBox = { "ap.marital nev mar", "ap.marital div", "ap.marital sep", "ap.marital def", "ap.marital wid", "ap.marital eng", "ap.marital mar" };
            String[] toggleBtn         = { "ap.app", "ap.com dimia" };
            foreach (var key in fields.Keys)
            {
                string value;
                if (item.TryGetValue(key, out value))
                {
                    if (Array.IndexOf(relationsCheckBox, key) != -1)
                    {
                        //https://github.com/itext/itext7/blob/develop/forms/src/main/java/com/itextpdf/forms/fields/PdfFormField.java
                        fields[key].SetCheckType(1); // TYPE_CHECK = 1
                        fields[key].RegenerateField();
                    }
                    fields[key].SetValue(value);
                }
                else //获取不到值,这里只有未选中的婚姻关系框
                {
                    fields[key].SetValue("no");
                }
            }
            //form.FlattenFields();
            pdfDoc.Close();
            Console.WriteLine("Program ends");
        }