private void button1_Click(object sender, EventArgs e) { string location = "../../Data/CustomInvoice.pdf"; //Load the PDF document PdfLoadedDocument page1Document = new PdfLoadedDocument(location); //Created new Pdf Document PdfDocument doc = new PdfDocument(); //Gets the form from Loaded document PdfLoadedForm form = page1Document.Form; //Gets the Form fields PdfLoadedFormFieldCollection field = form.Fields; // fill the form fields. for (int i = 0; i < field.Count; i++) { string name = (form.Fields[i].Name); (form.Fields[name]).Flatten = true; (form.Fields[name]).ToolTip = "sample"; } //flattens the whole form. form.Flatten = true; //Append the loaded document doc.Append(page1Document); //Save the document and dispose it doc.Save("Converted-" + DateTime.Now.ToString("mmssddMMyyyy") + ".pdf"); doc.Close(); label1.Text = "Done. Please check Bin folder."; }
private void FillDocument(PdfLoadedDocument document) { PdfLoadedForm form = document.Form; form.SetDefaultAppearance(false); (form.Fields[0] as PdfLoadedTextBoxField).Text = name.Text; (form.Fields[1] as PdfLoadedTextBoxField).Text = BusName.Text; (form.Fields[2] as PdfLoadedCheckBoxField).Checked = (Individual.IsChecked) ?? false; (form.Fields[3] as PdfLoadedCheckBoxField).Checked = Corporation.IsChecked ?? false; (form.Fields[4] as PdfLoadedCheckBoxField).Checked = Partnership.IsChecked ?? false; }
static void Main(string[] args) { PdfLoadedDocument loadedDocument = new PdfLoadedDocument(@"../../../../../../Data/FormFill.pdf"); //Load an existing form PdfLoadedForm loadedForm = loadedDocument.Form; //Export the existing PDF form data to xml file loadedForm.ExportData("Export.xml", DataFormat.Xml, @"AcroForm1"); //Close the document loadedDocument.Close(true); PdfDocument.ClearFontCache(); }
private static void FillSkills(PdfLoadedForm form) { foreach (var item in dataContainer.Skills) { var skill = item as SkillItem; int value = skill.Prof ? dataContainer.ProfBonus + (dataContainer.Attributes[(int)skill.AttributeLink] as AttributeItem).ModValue : (dataContainer.Attributes[(int)skill.AttributeLink] as AttributeItem).ModValue; var field = skill.PDF_Name ?? skill.Name; (form.Fields[$"{field}"] as PdfLoadedTextBoxField).Text = value.ToString(); (form.Fields[$"{skill.Prof_Name}"] as PdfLoadedCheckBoxField).Checked = skill.Prof; } }
private static void FillAttributes(PdfLoadedForm form) { foreach (var item in dataContainer.Attributes) { var attribute = item as AttributeItem; var value = attribute.Prof ? dataContainer.ProfBonus + attribute.ModValue : attribute.ModValue; var field = attribute.PDF_Name ?? attribute.Name; (form.Fields[$"{field}"] as PdfLoadedTextBoxField).Text = attribute.Value.ToString(); (form.Fields[$"{field}mod"] as PdfLoadedTextBoxField).Text = attribute.ModValue.ToString(); (form.Fields[$"{attribute.ST_Field}"] as PdfLoadedTextBoxField).Text = value.ToString(); (form.Fields[$"{attribute.ST_Prof}"] as PdfLoadedCheckBoxField).Checked = attribute.Prof; } }
private void FillDocument(PdfLoadedDocument document) { //Get the PDF form from the document. PdfLoadedForm form = document.Form; //Set default appearance to false, to create a appearance. form.SetDefaultAppearance(false); //Get formatted date for date of birth var dateTimeOffset = dateofbirth.Date; DateTime time = dateTimeOffset.Value.DateTime; string formatedTime = time.ToString("MMMM d, yyyy"); //Set the date of birth to text box field. (form.Fields[0] as PdfLoadedTextBoxField).Text = formatedTime; //Set the name to text box field. (form.Fields[1] as PdfLoadedTextBoxField).Text = name.Text; //Set the email to text box field. (form.Fields[2] as PdfLoadedTextBoxField).Text = email.Text; int selectedIndex = 0; if ((bool)Unspecified.IsChecked) { selectedIndex = 1; } else if ((bool)Female.IsChecked) { selectedIndex = 2; } //Set the selected value to PdfLoadedRadioButtonListField. (form.Fields[3] as PdfLoadedRadioButtonListField).SelectedIndex = selectedIndex; //Set the selected city to PdfLoadedComboBoxField. (form.Fields[4] as PdfLoadedComboBoxField).SelectedValue = fromCity.SelectedValue.ToString(); //Set the selected value to PdfLoadedCheckBoxField. (form.Fields[5] as PdfLoadedCheckBoxField).Checked = newsletter.IsChecked ?? false; }
private void luoLaskuBtn_Click(object sender, EventArgs e) { bool voikoLuoda = true; //Luodaan asiakas ja laitetaan asiakkaalle tiedot Asiakas asiakas = new Asiakas(); asiakas.Sukunimi = sukunimiCBox.Text; asiakas.Etunimi = etunimiCBox.Text; asiakas = handler.HaeAsiakasNimellä(asiakas); //Luodaan yritys ja haetaan sille tiedot Yritys yritys = new Yritys(); yritys = handler.HaeYritys(id); DateTime dateAndTime = DateTime.Now; DateTime eräpäivä = dateAndTime.AddDays(14); //Luodaan lasku ja laitetaan laskulle tiedot Lasku lasku = new Lasku(); int laskunID; lasku.Päivämäärä = dateAndTime; lasku.Eräpäivä = eräpäivä; lasku.AsiakasID = asiakas.Id; try { lasku.Laskutuskausi = laskutusCbox.SelectedItem.ToString(); } catch (Exception) { MessageBox.Show("Et valinnut laskutuskautta", "!Huom"); voikoLuoda = false; } if (voikoLuoda == true) { laskunID = handler.TallennaLasku(lasku); string viitenumero; viitenumero = Viitenumero(asiakas, laskunID); // luodaan pdf tiedosto ja sille olennaiset ominaisuudet PdfLoadedDocument loadedDocument = new PdfLoadedDocument(Properties.Resources.laskupohja); PdfLoadedForm loadedForm = loadedDocument.Form; PdfLoadedPage loadedPage = loadedDocument.Pages[0] as PdfLoadedPage; PdfTemplate template = loadedPage.CreateTemplate(); PdfDocument document = new PdfDocument(); document.PageSettings.SetMargins(2); PdfPage page = document.Pages.Add(); PdfGraphics graphics = page.Graphics; graphics.DrawPdfTemplate(template, PointF.Empty, new SizeF(page.Size.Width, page.Size.Height)); PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20); float veroYhteensä, määrä, verotonHinta, hinta, yhteensä; float.TryParse(hintaTbox.Text, out hinta); float.TryParse(määräTbox.Text, out määrä); verotonHinta = hinta * määrä; veroYhteensä = verotonHinta * 1.24f - verotonHinta; yhteensä = verotonHinta + veroYhteensä; //Viedään tietoa dokumenttiin (loadedForm.Fields[0] as PdfLoadedTextBoxField).Text = dateAndTime.ToString("dd/MM/yyyy"); (loadedForm.Fields[1] as PdfLoadedTextBoxField).Text = "7%"; //Viivästyskorko (loadedForm.Fields[2] as PdfLoadedTextBoxField).Text = laskunID.ToString(); //Laskunumero (loadedForm.Fields[3] as PdfLoadedTextBoxField).Text = asiakas.YTunnus; // Asiakkaan Y-Tunnus (loadedForm.Fields[4] as PdfLoadedTextBoxField).Text = maksuehtoTbox.Text; // Maksuehto (loadedForm.Fields[5] as PdfLoadedTextBoxField).Text = ""; // Viitteemme (loadedForm.Fields[6] as PdfLoadedTextBoxField).Text = eräpäivä.ToString("dd/MM/yyyy"); // Eräpäivä (loadedForm.Fields[7] as PdfLoadedTextBoxField).Text = ""; // Viittenne (loadedForm.Fields[8] as PdfLoadedTextBoxField).Text = toimitusehtoTbox.Text; // Toimitusehto (loadedForm.Fields[63] as PdfLoadedTextBoxField).Text = verotonHinta.ToString(); // Veroton yhteensä (loadedForm.Fields[64] as PdfLoadedTextBoxField).Text = veroYhteensä.ToString(); // ALV yhteensä (loadedForm.Fields[65] as PdfLoadedTextBoxField).Text = yhteensä.ToString(); // Verollinen yhteensä (loadedForm.Fields[70] as PdfLoadedTextBoxField).Text = yhteensä.ToString(); // Yhteensä (loadedForm.Fields[71] as PdfLoadedTextBoxField).Text = EtunimiLbl.Text + " " + sukunimiLbl.Text + "\n" + osoiteLbl.Text + "\n" + postinumeroLbl.Text + " " + postitoimipaikkaLbl.Text; // Asiakkaan tiedot (loadedForm.Fields[68] as PdfLoadedTextBoxField).Text = eräpäivä.ToString("dd/MM/yyyy"); // Eräpäivä (loadedForm.Fields[75] as PdfLoadedTextBoxField).Text = yritys.Nimi + "\n" + yritys.Osoite + "\n" // Laskun lähettäjän tiedot + yritys.Postinumero + " " + yritys.Postiosoite; // Laskun lähettäjän tiedot (loadedForm.Fields[66] as PdfLoadedTextBoxField).Text = yritys.Iban; // IBAN (loadedForm.Fields[67] as PdfLoadedTextBoxField).Text = yritys.Bicswift; // BIC/SWIFT = 67 (loadedForm.Fields[69] as PdfLoadedTextBoxField).Text = viitenumero; // Viitenumero = 69 (loadedForm.Fields[9] as PdfLoadedTextBoxField).Text = nimikeTbox.Text; // Nimike (loadedForm.Fields[10] as PdfLoadedTextBoxField).Text = määräTbox.Text; // Määrä (loadedForm.Fields[11] as PdfLoadedTextBoxField).Text = "kpl"; // Yks. (loadedForm.Fields[12] as PdfLoadedTextBoxField).Text = hintaTbox.Text; // hinta (loadedForm.Fields[13] as PdfLoadedTextBoxField).Text = "24%"; // Alv % (loadedForm.Fields[14] as PdfLoadedTextBoxField).Text = yhteensä.ToString(); // Verollinen yhteensä //Tällä luupilla voi katsoa missä kohdassa mikäkin field on. //for (int i = 0; i < 76; i++) //{ // (loadedForm.Fields[i] as PdfLoadedTextBoxField).Text = i.ToString(); //} // tallenetaan dokumentti loadedDocument.Save("Lasku.pdf"); document.Save("UusiLasku.pdf"); loadedDocument.Close(true); document.Close(true); Process.Start("Lasku.pdf"); // Tarkistetaan onko laskun tiedot saatu tallennettua if (laskunID != 0) { MessageBox.Show("Laskun tiedot tallennettiin tietokantaan", "Huom"); } else { MessageBox.Show("Laskun tietoja ei saatu tallennettua", "Huom"); } } }
private void btnPDFForm_Click(object sender, System.EventArgs e) { //Load the template document PdfLoadedDocument doc = new PdfLoadedDocument(@"..\..\..\..\..\..\..\Common\Data\PDF\Form.pdf"); PdfLoadedForm form = doc.Form; // fill the fields from the first page (form.Fields["f1-1"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-2"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-3"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-4"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-5"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-6"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-7"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-8"] as PdfLoadedTextBoxField).Text = "30"; (form.Fields["f1-9"] as PdfLoadedTextBoxField).Text = "John"; (form.Fields["f1-10"] as PdfLoadedTextBoxField).Text = "Doe"; (form.Fields["f1-11"] as PdfLoadedTextBoxField).Text = "3233 Spring Rd."; (form.Fields["f1-12"] as PdfLoadedTextBoxField).Text = "Atlanta, GA 30339"; (form.Fields["f1-13"] as PdfLoadedTextBoxField).Text = "332"; (form.Fields["f1-14"] as PdfLoadedTextBoxField).Text = "43"; (form.Fields["f1-15"] as PdfLoadedTextBoxField).Text = "4556"; (form.Fields["f1-16"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-17"] as PdfLoadedTextBoxField).Text = "2000"; (form.Fields["f1-18"] as PdfLoadedTextBoxField).Text = "Exempt"; (form.Fields["f1-19"] as PdfLoadedTextBoxField).Text = "Syncfusion, Inc."; (form.Fields["f1-20"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f1-21"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-22"] as PdfLoadedTextBoxField).Text = "56654"; (form.Fields["c1-1[0]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; (form.Fields["c1-1[1]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; // fill the fields from the second page (form.Fields["f2-1"] as PdfLoadedTextBoxField).Text = "3200"; (form.Fields["f2-2"] as PdfLoadedTextBoxField).Text = "4850"; (form.Fields["f2-3"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-4"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-5"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-6"] as PdfLoadedTextBoxField).Text = "800"; (form.Fields["f2-7"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-8"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-9"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-10"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-11"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-12"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-13"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-14"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-15"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-16"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f2-17"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f2-18"] as PdfLoadedTextBoxField).Text = "600"; (form.Fields["f2-19"] as PdfLoadedTextBoxField).Text = "250"; doc.Save("sample.pdf"); //Message box confirmation to view the created PDF document. if (MessageBox.Show("Do you want to view the PDF file?", "PDF File Created", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { //Launching the PDF file using the default Application.[Acrobat Reader] System.Diagnostics.Process.Start("Sample.pdf"); this.Close(); } else { // Exit this.Close(); } }
public void OnButtonClicked(object sender, EventArgs e) { Stream docStream = typeof(MailAttachment).GetTypeInfo().Assembly.GetManifestResourceStream("SampleBrowser.PDF.Samples.Assets.FormFillingDocument.pdf"); MemoryStream stream = new MemoryStream(); //Load the existing PDF document using (PdfLoadedDocument ldoc = new PdfLoadedDocument(docStream)) { //Get the PDF form PdfLoadedForm lForm = ldoc.Form; if (name.Text != null) { //Load the textbox field PdfLoadedTextBoxField nameText = lForm.Fields["name"] as PdfLoadedTextBoxField; //Fill the text box nameText.Text = this.name.Text; } //Get the Radio button field PdfLoadedRadioButtonListField genderRadio = lForm.Fields["gender"] as PdfLoadedRadioButtonListField; switch (gender.Items[gender.SelectedIndex]) { case "Male": genderRadio.SelectedIndex = 0; break; case "Female": genderRadio.SelectedIndex = 2; break; case "Unspecified": genderRadio.SelectedIndex = 1; break; } //Load the textbox field PdfLoadedTextBoxField dobText = lForm.Fields["dob"] as PdfLoadedTextBoxField; //Fill the text box dobText.Text = this.dob.Date.ToString("dd MMMM yyyy"); if (this.emailID.Text != null) { //Load the textbox field PdfLoadedTextBoxField emailText = lForm.Fields["email"] as PdfLoadedTextBoxField; //Fill the text box emailText.Text = this.emailID.Text; } //Load the combobox field PdfLoadedComboBoxField countryCombo = lForm.Fields["state"] as PdfLoadedComboBoxField; //Set the selected value countryCombo.SelectedValue = this.country.Items[country.SelectedIndex]; //Get the Checkbox field PdfLoadedCheckBoxField newsCheck = lForm.Fields["newsletter"] as PdfLoadedCheckBoxField; newsCheck.Checked = this.newsLetter.IsToggled; //Flatten the form fields ldoc.Form.Flatten = true; //Save the PDF document ldoc.Save(stream); } stream.Position = 0; //Open in default system viewer. if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows) { Xamarin.Forms.DependencyService.Get <IMailService>().ComposeMail("MailAttachment.pdf", null, "Workshop Registration", "Syncfusion", stream); } else { Xamarin.Forms.DependencyService.Get <IMailService>().ComposeMail("MailAttachment.pdf", null, "Workshop Registration", "Syncfusion", stream); } }
public ActionResult FormFilling(string submit1, string submit, string InsideBrowser, string flatten) { if (submit1 == "View Template") { string dataPath = ResolveApplicationDataPath("Form.pdf"); Stream file2 = new FileStream(dataPath, FileMode.Open, FileAccess.Read, FileShare.Read); //Load the template document PdfLoadedDocument doc = new PdfLoadedDocument(file2); return(doc.ExportAsActionResult("FormTemplate.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Open)); } else if (submit == "Generate PDF") { string dataPath = ResolveApplicationDataPath("Form.pdf"); Stream file1 = new FileStream(dataPath, FileMode.Open, FileAccess.Read, FileShare.Read); //Load the template document PdfLoadedDocument doc = new PdfLoadedDocument(file1); PdfLoadedForm form = doc.Form; // fill the fields from the first page (form.Fields["f1-1"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-2"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-3"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-4"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-5"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-6"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-7"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-8"] as PdfLoadedTextBoxField).Text = "30"; (form.Fields["f1-9"] as PdfLoadedTextBoxField).Text = "John"; (form.Fields["f1-10"] as PdfLoadedTextBoxField).Text = "Doe"; (form.Fields["f1-11"] as PdfLoadedTextBoxField).Text = "3233 Spring Rd."; (form.Fields["f1-12"] as PdfLoadedTextBoxField).Text = "Atlanta, GA 30339"; (form.Fields["f1-13"] as PdfLoadedTextBoxField).Text = "332"; (form.Fields["f1-14"] as PdfLoadedTextBoxField).Text = "43"; (form.Fields["f1-15"] as PdfLoadedTextBoxField).Text = "4556"; (form.Fields["f1-16"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-17"] as PdfLoadedTextBoxField).Text = "2000"; (form.Fields["f1-18"] as PdfLoadedTextBoxField).Text = "Exempt"; (form.Fields["f1-19"] as PdfLoadedTextBoxField).Text = "Syncfusion, Inc"; (form.Fields["f1-20"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f1-21"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-22"] as PdfLoadedTextBoxField).Text = "56654"; (form.Fields["c1-1[0]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; (form.Fields["c1-1[1]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; // fill the fields from the second page (form.Fields["f2-1"] as PdfLoadedTextBoxField).Text = "3200"; (form.Fields["f2-2"] as PdfLoadedTextBoxField).Text = "4850"; (form.Fields["f2-3"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-4"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-5"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-6"] as PdfLoadedTextBoxField).Text = "800"; (form.Fields["f2-7"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-8"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-9"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-10"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-11"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-12"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-13"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-14"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-15"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-16"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f2-17"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f2-18"] as PdfLoadedTextBoxField).Text = "600"; (form.Fields["f2-19"] as PdfLoadedTextBoxField).Text = "250"; if (flatten == "From Flatten") { doc.Form.Flatten = true; } //Save to disk if (InsideBrowser == "Browser") { return(doc.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Open)); } else { return(doc.ExportAsActionResult("sample.pdf", HttpContext.ApplicationInstance.Response, HttpReadType.Save)); } } return(View()); }
public ActionResult FormFilling(string submit1, string submit, string InsideBrowser, string flatten) { if (submit1 == "View Template") { string basePath = _hostingEnvironment.WebRootPath; string dataPath = string.Empty; dataPath = basePath + @"/PDF/"; //Read the file FileStream file = new FileStream(dataPath + "Form.pdf", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Load the template document PdfLoadedDocument doc = new PdfLoadedDocument(file); //Save the PDF to the MemoryStream MemoryStream ms = new MemoryStream(); doc.Save(ms); //If the position is not set to '0' then the PDF will be empty. ms.Position = 0; //Close the PDF document. doc.Close(true); //Download the PDF document in the browser. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/pdf"); fileStreamResult.FileDownloadName = "template.pdf"; return(fileStreamResult); } else if (submit == "Generate PDF") { string basePath = _hostingEnvironment.WebRootPath; string dataPath = string.Empty; dataPath = basePath + @"/PDF/"; //Read the file FileStream file = new FileStream(dataPath + "Form.pdf", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Load the template document PdfLoadedDocument doc = new PdfLoadedDocument(file); PdfLoadedForm form = doc.Form; // fill the fields from the first page (form.Fields["f1-1"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-2"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-3"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-4"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-5"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-6"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f1-7"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-8"] as PdfLoadedTextBoxField).Text = "30"; (form.Fields["f1-9"] as PdfLoadedTextBoxField).Text = "John"; (form.Fields["f1-10"] as PdfLoadedTextBoxField).Text = "Doe"; (form.Fields["f1-11"] as PdfLoadedTextBoxField).Text = "3233 Spring Rd."; (form.Fields["f1-12"] as PdfLoadedTextBoxField).Text = "Atlanta, GA 30339"; (form.Fields["f1-13"] as PdfLoadedTextBoxField).Text = "332"; (form.Fields["f1-14"] as PdfLoadedTextBoxField).Text = "43"; (form.Fields["f1-15"] as PdfLoadedTextBoxField).Text = "4556"; (form.Fields["f1-16"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f1-17"] as PdfLoadedTextBoxField).Text = "2000"; (form.Fields["f1-18"] as PdfLoadedTextBoxField).Text = "Exempt"; (form.Fields["f1-19"] as PdfLoadedTextBoxField).Text = "Syncfusion, Inc"; (form.Fields["f1-20"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f1-21"] as PdfLoadedTextBoxField).Text = "22"; (form.Fields["f1-22"] as PdfLoadedTextBoxField).Text = "56654"; (form.Fields["c1-1[0]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; (form.Fields["c1-1[1]"] as PdfLoadedCheckBoxField).Items[0].Checked = true; // fill the fields from the second page (form.Fields["f2-1"] as PdfLoadedTextBoxField).Text = "3200"; (form.Fields["f2-2"] as PdfLoadedTextBoxField).Text = "4850"; (form.Fields["f2-3"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-4"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-5"] as PdfLoadedTextBoxField).Text = "500"; (form.Fields["f2-6"] as PdfLoadedTextBoxField).Text = "800"; (form.Fields["f2-7"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-8"] as PdfLoadedTextBoxField).Text = "0"; (form.Fields["f2-9"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-10"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-11"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-12"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-13"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-14"] as PdfLoadedTextBoxField).Text = "3"; (form.Fields["f2-15"] as PdfLoadedTextBoxField).Text = "2"; (form.Fields["f2-16"] as PdfLoadedTextBoxField).Text = "1"; (form.Fields["f2-17"] as PdfLoadedTextBoxField).Text = "200"; (form.Fields["f2-18"] as PdfLoadedTextBoxField).Text = "600"; (form.Fields["f2-19"] as PdfLoadedTextBoxField).Text = "250"; if (flatten == "From Flatten") { doc.Form.Flatten = true; } //Save the PDF to the MemoryStream MemoryStream ms = new MemoryStream(); doc.Save(ms); //If the position is not set to '0' then the PDF will be empty. ms.Position = 0; //Close the PDF document. doc.Close(true); //Download the PDF document in the browser. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/pdf"); fileStreamResult.FileDownloadName = "Form.pdf"; return(fileStreamResult); } return(View()); }
public async Task <IActionResult> GetFile([FromQuery] int applicantID) { var applicantInfo = await _user.FetchApplicant(applicantID); var formData = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(applicantInfo.FormFormattedData); var file = Path.GetFullPath("pdf/ESDC-EMP5624-new.pdf"); //Load the PDF document FileStream docStream = new FileStream(file, FileMode.Open, FileAccess.Read); PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docStream); //Loads the form PdfLoadedForm form = loadedDocument.Form; //load the check box from field collection //Fill the XFA form. form.EnableXfaFormFill = true; var data = new Dictionary <string, dynamic>(); foreach (PdfLoadedField field in form.Fields) { if (field is PdfLoadedTextBoxField) { if (formData.ContainsKey(((PdfLoadedTextBoxField)field).Name)) { ((PdfLoadedTextBoxField)field).Text = formData[((PdfLoadedTextBoxField)field).Name]; } // Console.WriteLine(formData[((PdfLoadedTextBoxField)field).Name]); } if (field is PdfLoadedCheckBoxField) { // data.Add(((PdfLoadedTextBoxField)field).Name, true); if (formData.ContainsKey(((PdfLoadedCheckBoxField)field).Name)) { ((PdfLoadedCheckBoxField)field).Checked = (formData[((PdfLoadedCheckBoxField)field).Name] is bool) ? formData[((PdfLoadedCheckBoxField)field).Name] : false; } } if (field is PdfLoadedChoiceField) { // ((PdfLoadedChoiceField)field).SelectedIndex = new int[] { 0 }; if (formData.ContainsKey(((PdfLoadedChoiceField)field).Name)) { ((PdfLoadedChoiceField)field).SelectedValue = formData[((PdfLoadedChoiceField)field).Name]; } } if (field is PdfLoadedRadioButtonListField) { // ((PdfLoadedRadioButtonListField)field).SelectedValue = ""; if (formData.ContainsKey(((PdfLoadedRadioButtonListField)field).Name)) { ((PdfLoadedRadioButtonListField)field).SelectedValue = formData[((PdfLoadedRadioButtonListField)field).Name]; } } } // Flatten the whole form (prevent editing) // form.Flatten = true; //Save the PDF document to stream MemoryStream stream = new MemoryStream(); loadedDocument.Save(stream); //If the position is not set to '0' then the PDF will be empty. stream.Position = 0; //Close the document. loadedDocument.Close(true); //Defining the ContentType for pdf file. string contentType = "application/pdf"; //Define the file name. string fileName = "output.pdf"; //Creates a FileContentResult object by using the file contents, content type, and file name. return(File(stream, contentType, fileName)); // return Ok(); }
static void Main() { var currentMonthStr = DateTime.Now.ToString("MM"); if (!int.TryParse(currentMonthStr, out int currentMonth)) { Console.WriteLine($"Erro ao converter mês corrente para inteiro. Mês: {currentMonthStr}"); goto Finish; } var yearStr = DateTime.Now.ToString("yyyy"); if (!int.TryParse(yearStr, out int serviceYear)) { Console.WriteLine($"Erro ao converter ano corrente para inteiro. Ano: {yearStr}"); goto Finish; } if (currentMonth >= 9) { serviceYear = serviceYear + 1; } var pathRelatorios = Path.Combine(Directory.GetCurrentDirectory(), "Relatorios"); if (!Directory.Exists(pathRelatorios)) { Directory.CreateDirectory(pathRelatorios); } var filename = Directory.GetFiles(pathRelatorios).FirstOrDefault(file => file.EndsWith(".xml")); if (filename == null) { Console.WriteLine("Não existe nenhum ficheiro XML na pasta Relatorios!"); goto Finish; } var currentDirectory = Directory.GetCurrentDirectory(); var doc = Path.Combine(currentDirectory, filename); XElement root = XElement.Load(doc); IEnumerable <XElement> pubs = from el in root.Elements("Active").Elements("Pub") select el; if (!int.TryParse((string)root.Element("Count"), out int totalPub)) { Console.WriteLine("Número de Publicadores Activos no xml não é um inteiro válido."); goto Finish; } Console.WriteLine("Publicadores Activos: " + totalPub); string folderName = "Export-" + DateTime.Now.ToString("dd-MM-yyyy_hh-mm-ss"); Directory.CreateDirectory(folderName); int index = 1; foreach (XElement el in pubs) { FileStream file; try { file = new FileStream("S-21-TPO.pdf", FileMode.Open); } catch (FileNotFoundException) { Console.WriteLine("Coloque o PDF S-21 na pasta do executável, com o nome: S-21-TPO.pdf"); goto Finish; } //Load the PDF document PdfLoadedDocument loadedDocument = new PdfLoadedDocument(file); ////Gets the first page of the document PdfLoadedPage page = loadedDocument.Pages[0] as PdfLoadedPage; ////Get the loaded form PdfLoadedForm form = loadedDocument.Form; // Print Fields' Names //foreach (PdfLoadedField field in form.Fields) //{ // Console.WriteLine(field.Name); //} var pubName = (string)el.Element("fname") + " " + (string)el.Element("lname"); Console.WriteLine($"A preencher: {pubName} ({index++}/{totalPub})"); var publisherType = FillForm(form, el, serviceYear.ToString(), 2); FillForm(form, el, (serviceYear - 1).ToString(), 1); string subfolder = "Outros"; switch (publisherType) { case PublisherType.RegularPioneer: subfolder = "Pioneiros Regulares"; break; case PublisherType.NonBaptized: subfolder = "Publicadores Não Batizados"; break; case PublisherType.Baptized: subfolder = $"Grupo {(string)el.Element("group")}"; break; } SaveFile(loadedDocument, folderName, subfolder, pubName); } Console.WriteLine("Sucesso!"); Finish: Console.WriteLine("Click em Enter para terminar..."); Console.ReadLine(); }
static PublisherType FillForm(PdfLoadedForm form, XElement el, string year, int tableIndex = 1) { bool isPionner = false; PublisherType publisherType = PublisherType.Undefined; // Name (form.Fields["Name"] as PdfLoadedTextBoxField).Text = (string)el.Element("fname") + " " + (string)el.Element("lname"); // Gender if ((string)el.Element("gender") == "Male") { (form.Fields["Check Box1"] as PdfLoadedCheckBoxField).Checked = true; } else { (form.Fields["Check Box2"] as PdfLoadedCheckBoxField).Checked = true; } // Outra ovelha (form.Fields["Check Box3"] as PdfLoadedCheckBoxField).Checked = true; // <svt>Elder</svt> , <svt>MinSvt</svt>, if ((string)el.Element("svt") == "Elder") { (form.Fields["Check Box5"] as PdfLoadedCheckBoxField).Checked = true; } if ((string)el.Element("svt") == "MinSvt") { (form.Fields["Check Box6"] as PdfLoadedCheckBoxField).Checked = true; } // <birdate>1961-06-14</birdate> (form.Fields["Date of birth"] as PdfLoadedTextBoxField).Text = (string)el.Element("birdate"); //< bapdate > 2003 - 07 - 19 </ bapdate > (form.Fields["Date immersed"] as PdfLoadedTextBoxField).Text = (string)el.Element("bapdate"); if ((string)el.Element("bapdate") == String.Empty) { publisherType = PublisherType.NonBaptized; } if (tableIndex == 1) { (form.Fields["Service Year"] as PdfLoadedTextBoxField).Text = year; } if (tableIndex == 2) { (form.Fields["Service Year_2"] as PdfLoadedTextBoxField).Text = year; } int totalPlace = 0, totalVideos = 0, totalHours = 0, totalRV = 0, totalStudies = 0, monthsWithActivity = 0; string yearBackup = year; for (int i = 1; i <= 12; i++) { if (i <= 4) { year = GetPastYear(yearBackup); } else { year = yearBackup; } var matches = el.Elements(GetMonth3Letters(i)); var e = matches.FirstOrDefault(x => x.Attribute("Year").Value.Equals(year)); if (e != null) { var value = (string)e.Element("Plcmts"); (form.Fields[$"{tableIndex}-Place_{i}"] as PdfLoadedTextBoxField).Text = value; int.TryParse(value, out int v); totalPlace += v; value = (string)e.Element("Videos"); (form.Fields[$"{tableIndex}-Video_{i}"] as PdfLoadedTextBoxField).Text = value; int.TryParse(value, out v); totalVideos += v; value = (string)e.Element("Hours"); (form.Fields[$"{tableIndex}-Hours_{i}"] as PdfLoadedTextBoxField).Text = value; int.TryParse(value, out v); totalHours += v; value = (string)e.Element("R.V.s"); (form.Fields[$"{tableIndex}-RV_{i}"] as PdfLoadedTextBoxField).Text = value; int.TryParse(value, out v); totalRV += v; value = (string)e.Element("BiSt."); (form.Fields[$"{tableIndex}-Studies_{i}"] as PdfLoadedTextBoxField).Text = value; int.TryParse(value, out v); totalStudies += v; value = (string)e.Element("Remark"); var text = (string)e.Element("Pio") == "Aux" ? $"Pioneir{(IsMale(el) ? "o" : "a")} Auxiliar. {value}" : value; if (tableIndex == 1) { (form.Fields[$"Remarks{GetMonth(i)}"] as PdfLoadedTextBoxField).Text = text; } else { (form.Fields[$"Remarks{GetMonth(i)}_2"] as PdfLoadedTextBoxField).Text = text; } isPionner = (string)e.Element("Pio") == "Reg"; (form.Fields["Check Box7"] as PdfLoadedCheckBoxField).Checked = isPionner; if (isPionner) { publisherType = PublisherType.RegularPioneer; } if (!(form.Fields[$"{tableIndex}-Hours_{i}"] as PdfLoadedTextBoxField).Text.Equals("")) { monthsWithActivity++; } } } (form.Fields[$"{tableIndex}-Place_Total"] as PdfLoadedTextBoxField).Text = totalPlace.ToString(); (form.Fields[$"{tableIndex}-Place_Average"] as PdfLoadedTextBoxField).Text = GetAvg(totalPlace, monthsWithActivity); (form.Fields[$"{tableIndex}-Video_Total"] as PdfLoadedTextBoxField).Text = totalVideos.ToString(); (form.Fields[$"{tableIndex}-Video_Average"] as PdfLoadedTextBoxField).Text = GetAvg(totalVideos, monthsWithActivity); (form.Fields[$"{tableIndex}-Hours_Total"] as PdfLoadedTextBoxField).Text = totalHours.ToString(); (form.Fields[$"{tableIndex}-Hours_Average"] as PdfLoadedTextBoxField).Text = GetAvg(totalHours, monthsWithActivity); (form.Fields[$"{tableIndex}-RV_Total"] as PdfLoadedTextBoxField).Text = totalRV.ToString(); (form.Fields[$"{tableIndex}-RV_Average"] as PdfLoadedTextBoxField).Text = GetAvg(totalRV, monthsWithActivity); (form.Fields[$"{tableIndex}-Studies_Total"] as PdfLoadedTextBoxField).Text = totalStudies.ToString(); (form.Fields[$"{tableIndex}-Studies_Average"] as PdfLoadedTextBoxField).Text = GetAvg(totalStudies, monthsWithActivity); return(publisherType == PublisherType.Undefined ? PublisherType.Baptized : publisherType); }
public IActionResult Post() { var file = Path.GetFullPath("pdf/ESDC-EMP5624-new.pdf"); //Load the PDF document FileStream docStream = new FileStream(file, FileMode.Open, FileAccess.Read); PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docStream); //Loads the form PdfLoadedForm form = loadedDocument.Form; //load the check box from field collection PdfLoadedCheckBoxField loadedCheckBoxField = form.Fields[0] as PdfLoadedCheckBoxField; // Syncfusion.Pdf.Parsing. // Console.WriteLine(form.Fields["EMP5624_E[0].Page1[0].txtF_phone_number[0]"]); PdfLoadedTextBoxField phoneNumberField = form.Fields["EMP5624_E[0].Page1[0].txtF_phone_number[0]"] as PdfLoadedTextBoxField; phoneNumberField.Text = "23481378653993"; // random data var textEntries = new List <string>(); //Fill the XFA form. form.EnableXfaFormFill = true; var data = new Dictionary <string, dynamic>(); foreach (PdfLoadedField field in form.Fields) { if (field is PdfLoadedTextBoxField) { data.Add(((PdfLoadedTextBoxField)field).Name, "Hello"); } if (field is PdfLoadedCheckBoxField) { data.Add(((PdfLoadedTextBoxField)field).Name, true); } if (field is PdfLoadedChoiceField) { // ((PdfLoadedChoiceField)field).SelectedIndex = new int[] { 0 }; data.Add(((PdfLoadedTextBoxField)field).Name, 1); } if (field is PdfLoadedRadioButtonListField) { // ((PdfLoadedRadioButtonListField)field).SelectedValue = ""; data.Add(((PdfLoadedTextBoxField)field).Name, true); } } // Flatten the whole form (prevent editing) // form.Flatten = true; //Save the PDF document to stream MemoryStream stream = new MemoryStream(); loadedDocument.Save(stream); //If the position is not set to '0' then the PDF will be empty. stream.Position = 0; //Close the document. loadedDocument.Close(true); //Defining the ContentType for pdf file. string contentType = "application/pdf"; //Define the file name. string fileName = "output.pdf"; //Creates a FileContentResult object by using the file contents, content type, and file name. return(File(stream, contentType, fileName)); // return Ok(); }
public ICustomActivityResult Execute() { try { StringWriter sw = new StringWriter(); DataTable dt = new DataTable("resultSet"); dt.Columns.Add("Result", typeof(string)); if (string.IsNullOrEmpty(Path)) { throw new Exception("File not found"); } if (File.Exists(Path) == false) { throw new Exception("File not found"); } PdfLoadedDocument ldoc = null; if (string.IsNullOrEmpty(FilePassword)) { ldoc = new PdfLoadedDocument(Path); } else { ldoc = new PdfLoadedDocument(Path, FilePassword); } // Loading Page collections PdfLoadedPageCollection loadedPages = ldoc.Pages; // Extract text from PDF document pages StringBuilder sb = new StringBuilder(); foreach (PdfLoadedPage lpage in loadedPages) { sb.Append(lpage.ExtractText()); } /* Start Form */ PdfLoadedForm pdfForm = ldoc.Form; bool found = false; if (pdfForm != null) { if (pdfForm.Fields.Count > 0) { sb.AppendLine(""); sb.AppendLine("-------- Form Controls Values --------"); } foreach (PdfLoadedField field in pdfForm.Fields) { string fname = field.Name; string fValue = string.Empty; try { if (field is PdfLoadedTextBoxField) { PdfLoadedTextBoxField textField = (field as PdfLoadedTextBoxField); fValue = textField.Text; found = true; } if (field is PdfLoadedCheckBoxField) { PdfLoadedCheckBoxField chbField = (field as PdfLoadedCheckBoxField); fValue = chbField.Checked ? "checked" : string.Empty; found = true; } if (field is PdfLoadedComboBoxField) { PdfLoadedComboBoxField listField = (field as PdfLoadedComboBoxField); fValue = listField.SelectedValue; found = true; } if (field is PdfLoadedRadioButtonListField) { PdfLoadedRadioButtonListField listField = (field as PdfLoadedRadioButtonListField); fValue = listField.SelectedItem.Value; found = true; } if (field is PdfLoadedListBoxField) { PdfLoadedListBoxField listField = (field as PdfLoadedListBoxField); string[] arrValues = listField.SelectedValue; if (arrValues != null) { string allValues = string.Empty; foreach (string cValue in arrValues) { allValues += cValue + ";"; } int lindex = allValues.LastIndexOf(";"); if (lindex > -1) { fValue = allValues.Substring(0, lindex); } else { fValue = allValues; } } else { fValue = string.Empty; } found = true; } if (found) { sb.AppendLine(string.Format("Field Name: {0} Value: {1}", fname, fValue)); found = false; } else { sb.AppendLine(string.Format("Field Name: {0} Error: {1}", fname, "The control type was not recognized.")); } } catch { sb.AppendLine(string.Format("Field Name: {0} Error: {1}", fname, "Failed to retrieve the value.")); } } } /* End Form */ dt.Rows.Add(sb.ToString()); return(this.GenerateActivityResult(dt)); } catch { throw new Exception("Failed to process the file."); } }