Free Trial
Web API version
Licensing
Request A Quote
HAVE QUESTIONS OR NEED HELP? SUBMIT THE SUPPORT REQUEST FORM or write email to SUPPORT@BYTESCOUT.COM
Fill Form W-4 | C#
Program.cs:
C#
using System; using System.Collections.Generic; using System.Diagnostics; using Bytescout.PDF; namespace FillFormExample { /// <summary> /// This example demonstrates how to fill PDF form programmatically. /// </summary> class Program { static void Main() { // Map of form fields and sample values to set Dictionary<string, object> fieldMap = new Dictionary<string, object>() { { "f1_01[0]", "John J" }, // FirstName and middle initial { "f1_02[0]", "Smith" }, // LastName { "f1_03[0]", "111-111-3333" }, // Security number { "f1_04[0]", "12 Palm st., Hill Valley" }, // Home address { "f1_05[0]", "CA 12345" }, // City, Town, State and ZIP { "c1_1[1]", "True" }, // Married { "f1_06[0]", "123" }, // Total number of allowance { "f1_07[0]", "443.44" }, // Additional amount { "f1_09[0]", "Google, Somewhere in CA" }, // Employer's name and address { "f1_10[0]", "12-3-2012" }, // First date of employment { "f1_11[0]", "EMP223344" } // Employer identification number }; // Load PDF form Document pdfDocument = new Document(@".\W-4.pdf"); pdfDocument.RegistrationName = "demo"; pdfDocument.RegistrationKey = "demo"; // Get first page Page page = pdfDocument.Pages[0]; // Get widget by its name and change value foreach (KeyValuePair<string, object> keyValuePair in fieldMap) { Annotation annotation = page.Annotations[keyValuePair.Key]; if (annotation is CheckBox) { ((CheckBox)annotation).Checked = Convert.ToBoolean(keyValuePair.Value); } else if (annotation is EditBox) { ((EditBox)annotation).Text = (string)keyValuePair.Value; } } // Save modified document pdfDocument.Save("result.pdf"); // Cleanup pdfDocument.Dispose(); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }