Once the fields have been identified, the application can be written to pass the correct values to the related field.Ĭheckbox controls may be a little more challenging to figure out. For example, if the form contains ten fields, setting the value (shown next) to a sequential number will result in the display of the numbers 1 to 10 in each of the fields. One can then track that field value back to the field name using this list as the basis for the map. In order to map these fields to specific fields in the PDF, one need only copy this list and pass values to each of the fields to identify them. // Write the string builder's content to the form's textboxįigure 3 shows the field names collected from the target PDF using the ListFieldNames function call.sb.Append(de.Key.ToString() + Environment.NewLine).StringBuilder sb = new StringBuilder().// field names available in the subject PDF.// create and populate a string builder with each of the.PdfReader pdfReader = new PdfReader(pdfTemplate).// create a new PDF reader based on the PDF template document./// form fields identified can be used to map each of the./// List all of the form fields into a textbox.The namespace and class declaration are in the default configuration. Note that the iTextSharp libraries have been included into the project. The file begins with the appropriate library imports needed to support the code. The following section will describe the contents of the code file. The template PDF itself is never populated and it is used only to define the format and contents of the completed PDF.Īs was previously mentioned, all of the code used in the demonstration application is contained entirely in the project's single Windows form. The application uses the existing PDF as a template and from that template it creates and populates the new PDF. The completed PDF is generated and stored in the local file system the PDF is not opened for display by the application. The form itself contains only a docked textbox used to display all of the field names from an existing PDF document. Note that a reference to the iTextSharp DLL has been included in the project.Īll of the project code is contained with the single Windows form. I have also included a PDF that will be used for demonstration purposes this form is the IRS W-4 form completed by US taxpayers however, any PDF with embedded controls (text boxes, check boxes, etc.) is fair game for this approach. In order to get started, fire up the Visual Studio 2005 IDE and open the attached solution. The solution consists of a single Win Forms project with a single form. Further, though not demonstrated here, one can also use iTextSharp to create a PDF document with embedded controls. Of course if you have access to the Adobe tools (Adobe Professional, Adobe Designer), you can always create your own PDFs with controls, or can add controls to existing PDFs. PDF documents that do not contain controls those meant to be printed and filled in with a pencil, cannot be completed using this approach. The form contains controls and may be filled out programmatically so it serves as a good example. In order to demonstrate filling out a PDF using the iTextSharp DLL, I downloaded a copy of the W-4 PDF form from the IRS website. The examples contained herein are dependent upon the availability of the iTextSharp DLL use the link provided previously in order to download the DLL locally to your development machine. The examples here are limited to a description of the procedures associated with completion of a PDF the download will contain examples of PDF creation in both Visual Basic and C#. With the iTextSharp DLL, it is possible to not only populate fields in an existing PDF document but also to dynamically create PDFs. ITextSharp is a C# port of a Java library written to support the creation and manipulation of PDF document the project is available for download through here: The article also discusses how one might go about using the iTextSharp DLL to discover and map the fields available within an existing PDF if the programmer has only the PDF but does not have Adobe Designer or even a list of the names of the fields present in the PDF.įigure 1: Resulting PDF after Filling in Fields Programmatically. This article describes a quick and simple approach to programmatically completing a PDF document through the use of the iTextSharp DLL.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |