Essential Studio for Asp.Net | Demos

SHOWCASE SAMPLES
Showcase samples
    This sample demonstrates the creation of job application form from the scratch using form fields. The user can fill the online job application, then download as a PDF document.


    This is a good example that illustrates how to use the Essential PDF in any requirements like invoice, job applications, pay slips, bank statements and more.
    <%@ Page Title="PDF-Job Application-ASP.NET-SYNCFUSION"   Language="C#" MetaDescription="Example [C#] to create rich form field job application in ASP.NET Web Forms using Syncfusion .NET PDF library." MasterPageFile="~/Samplebrowser.Master" AutoEventWireup="true" CodeBehind="JobApplication.aspx.cs" Inherits="WebSampleBrowser.Pdf.JobApplication" %>
    
    <asp:Content ID="Content2" ContentPlaceHolderID="ControlsSection" runat="server">
        <div style = "font-size: 17px;font-weight: 400;">
                        This sample demonstrates the creation of job application form from the scratch using <a href="https://help.syncfusion.com/file-formats/pdf/working-with-forms">form fields.</a> The user can fill the online job application, then download as a PDF document.
    
        </div>
        <br/>
        
                    <div style="border: solid 1px #788DB3; padding: 5px 7px 5px 7px; background-color: #EDF0F7;">
                        <table width="100%" cellpadding="0" cellspacing="0" border="0">
                            <tr>
                                <td align="left">
                                    <asp:CheckBox ID="CheckBox1" runat="server" Text=" Open Document inside Browser" />
                                </td>
                                <td align="right">
                                    <asp:Button Width="100px" Style="margin-right: 3px" ID="Button1" Height="27px" runat="server"
                                         OnClick="Button1_Click" Text="Create PDF" />
                                </td>
                            </tr>
                        </table>
                    </div>
                <br/>
                <div style = "font-size: 17px;font-weight: 400;">
            
                    
            This is a good example that illustrates how to use the Essential PDF in any requirements like invoice, job applications, pay slips, bank statements and more.
               </div>
    </asp:Content>
    
    
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Drawing;
    using System.Drawing.Imaging;
    using Syncfusion.Pdf;
    using Syncfusion.Pdf.Graphics;
    using Syncfusion.Pdf.Tables;
    using System.Data.OleDb;
    using Syncfusion.Pdf.Interactive;
    
    namespace WebSampleBrowser.Pdf
    {
        public partial class JobApplication : System.Web.UI.Page
        {
            # region Private Members
            private PdfDocument pdfDoc;
            # endregion
    
            # region Page Load
            /// <summary>
            /// Handles page load
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
            # endregion
    
            # region Events
            /// <summary>
            /// Creates PDF document
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void Button1_Click(object sender, EventArgs e)
            {
                // Create a new documenFt class object.
                pdfDoc = new PdfDocument();
                pdfDoc.ViewerPreferences.HideMenubar = true;
                pdfDoc.ViewerPreferences.HideWindowUI = true;
                pdfDoc.ViewerPreferences.HideToolbar = true;
                pdfDoc.ViewerPreferences.FitWindow = true;
    
                pdfDoc.ViewerPreferences.PageLayout = PdfPageLayout.SinglePage;
                pdfDoc.PageSettings.Orientation = PdfPageOrientation.Portrait;
                pdfDoc.PageSettings.Margins.All = 0;
    
                //To set coordinates to draw form fields
                RectangleF bounds = new RectangleF(180, 65, 156, 15);
                PdfUnitConvertor con = new PdfUnitConvertor();
    
                PdfImage img = new PdfBitmap(ResolveApplicationDataPath(@"Careers.png"));
    
                //Set the page size
                SizeF pageSize = new SizeF(500, 310);
                pdfDoc.PageSettings.Height = pageSize.Height;
                pdfDoc.PageSettings.Width = pageSize.Width;
    
                Font f = new Font("Calibri", 12f, FontStyle.Bold);
                PdfFont pdfFont = new PdfTrueTypeFont(f);
    
                #region First Page
                pdfDoc.Pages.Add();
    
                PdfPage firstPage = pdfDoc.Pages[0];
                pdfDoc.Pages[0].Graphics.DrawImage(img, 0, 0, pageSize.Width, pageSize.Height);
                pdfDoc.Pages[0].Graphics.DrawString("General Information", pdfFont, new PdfSolidBrush(new PdfColor(213, 123, 19)), 25, 40);
                pdfDoc.Pages[0].Graphics.DrawString("Education Grade", pdfFont, new PdfSolidBrush(new PdfColor(213, 123, 19)), 25, 190);
    
                f = new Font("Calibri", 10f);
                pdfFont = new PdfTrueTypeFont(f);
                //Create fields in first page.
                pdfDoc.Pages[0].Graphics.DrawString("First Name:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 65);
    
                //Create text box for firstname.
                CreateTextBox(pdfDoc.Pages[0], "FirstName", "First Name", f, bounds);
    
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[0].Graphics.DrawString("Last Name:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 83);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
                //Create text box for lastname.
                CreateTextBox(pdfDoc.Pages[0], "LastName", "Last Name", f, bounds);
    
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[0].Graphics.DrawString("Email:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 103);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
    
                //Create text box for Email.
                CreateTextBox(pdfDoc.Pages[0], "Email", "Email id", f, bounds);
    
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[0].Graphics.DrawString("Business Phone:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 123);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
    
                //Create text box for Business phone.
                CreateTextBox(pdfDoc.Pages[0], "Business", "Business phone", f, bounds);
    
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[0].Graphics.DrawString("Which position are\nyou applying for?", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 143);
    
                //Create combo box for Position.
                #region Create ComboBox
                //Set position to draw Combo Box
                bounds.Y = bounds.Y + 24;
    
                PdfComboBoxField comboBox = new PdfComboBoxField(pdfDoc.Pages[0], "JobTitle");
                comboBox.Bounds = bounds;
                comboBox.BorderWidth = 1;
                comboBox.BorderColor = new PdfColor(Color.Gray);
    
                pdfFont = new PdfTrueTypeFont(f);
                comboBox.Font = pdfFont;
                comboBox.ToolTip = "Job Title";
    
    
                comboBox.Items.Add(new PdfListFieldItem("Development", "accounts"));
                comboBox.Items.Add(new PdfListFieldItem("Support", "advertise"));
                comboBox.Items.Add(new PdfListFieldItem("Documentation", "agri"));
    
                pdfDoc.Form.Fields.Add(comboBox);
                #endregion
    
                pdfDoc.Pages[0].Graphics.DrawString("Highest qualification", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 217);
    
                //Create Checkbox box.
                #region Create CheckBox
    
                f = new Font("Calibri", 8f);
                pdfFont = new PdfTrueTypeFont(f); ;
                //Set position to draw Checkbox
                bounds.Y = 239;
                bounds.X = 25;
                bounds.Width = 10;
    
                bounds.Height = 10;
    
                // Create a Check Box
                PdfCheckBoxField chb = new PdfCheckBoxField(pdfDoc.Pages[0], "Adegree");
    
                chb.Font = pdfFont;
                chb.ToolTip = "degree";
                chb.Bounds = bounds;
                chb.BorderColor = new PdfColor(Color.Gray);
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[0].Graphics.DrawString("Associate degree", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
                bounds.X += 90;
                pdfDoc.Form.Fields.Add(chb);
                //Create a Checkbox
                chb = new PdfCheckBoxField(pdfDoc.Pages[0], "Bdegree");
                chb.Font = pdfFont;
                chb.Bounds = bounds;
                chb.BorderColor = new PdfColor(Color.Gray);
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[0].Graphics.DrawString("Bachelor degree", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
    
                bounds.X += 90;
                pdfDoc.Form.Fields.Add(chb);
                //Create a Checkbox
                chb = new PdfCheckBoxField(pdfDoc.Pages[0], "college");
    
                chb.Font = pdfFont;
                chb.ToolTip = "college";
                chb.Bounds = bounds;
                chb.BorderColor = new PdfColor(Color.Gray);
    
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[0].Graphics.DrawString("College", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
    
                bounds.Y += 20;
                bounds.X = 25;
                pdfDoc.Form.Fields.Add(chb);
                //Create a Checkbox
                chb = new PdfCheckBoxField(pdfDoc.Pages[0], "pg");
    
                chb.Font = pdfFont;
                chb.Bounds = bounds;
                chb.BorderColor = new PdfColor(Color.Gray);
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[0].Graphics.DrawString("Post Graduate", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
    
                bounds.X += 90;
                pdfDoc.Form.Fields.Add(chb);
                //Create a Checkbox
                chb = new PdfCheckBoxField(pdfDoc.Pages[0], "mba");
    
                chb.Font = pdfFont;
                chb.Bounds = bounds;
                chb.BorderColor = new PdfColor(Color.Gray);
    
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[0].Graphics.DrawString("MBA", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
    
                pdfDoc.Form.Fields.Add(chb);
                #endregion
    
                # region Create Button
                PdfButtonField submitButton = new PdfButtonField(pdfDoc.Pages[0], "Next");
                submitButton.Bounds = new RectangleF(pdfDoc.Pages[0].GetClientSize().Width - 20, pdfDoc.Pages[0].GetClientSize().Height - 25, 20, 20);
                submitButton.Font = pdfFont;
                submitButton.ToolTip = "Next";
    
                PdfPage page = pdfDoc.Pages.Add();
                PdfDestination dest = new PdfDestination(page, new Point(0, 100));
                PdfGoToAction goToAction = new PdfGoToAction(page);
                goToAction.Destination = dest;
                submitButton.Actions.GotFocus = goToAction;
                # endregion
    
                # endregion
    
                # region Second Page
                //Create second page.        
                pdfDoc.Pages.Add();
    
                img = new PdfBitmap(ResolveApplicationDataPath("Careers.png"));
                pdfDoc.Pages[1].Graphics.DrawImage(img, new PointF(0, 0), new SizeF(pageSize.Width, pageSize.Height));
    
                pdfDoc.Pages[1].Graphics.DrawString("Current position", new PdfStandardFont(PdfFontFamily.TimesRoman, 10, PdfFontStyle.Bold), new PdfSolidBrush(new PdfColor(213, 123, 19)), 25, 40);
    
                bounds.X = 25; bounds.Y = 65;
                chb = new PdfCheckBoxField(pdfDoc.Pages[1], "Cemp");
                chb.Font = pdfFont;
                chb.Bounds = bounds;
                chb.BorderWidth = 1;
                chb.BorderColor = new PdfColor(Color.Gray);
                bounds.X += chb.Bounds.Height + 10;
    
                pdfDoc.Pages[1].Graphics.DrawString("I am not currently employed", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), bounds.X, bounds.Y);
    
                bounds.X += 90;
                pdfDoc.Form.Fields.Add(chb);
                pdfFont = new PdfTrueTypeFont(f);
    
                //Add fileds in second page
                pdfDoc.Pages[1].Graphics.DrawString("Job Title", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 85);
    
                bounds.X = 175;
                bounds.Y = 85;
                bounds.Width = 150;
                bounds.Height = 16;
    
                CreateTextBox(pdfDoc.Pages[1], "Jtitle", "Job title", f, bounds);
                pdfDoc.Pages[1].Graphics.DrawString("Employer:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 103);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
                CreateTextBox(pdfDoc.Pages[1], "Employer", "Employer", f, bounds);
                pdfDoc.Pages[1].Graphics.DrawString("Reason for leaving:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 123);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
                CreateTextBox(pdfDoc.Pages[1], "Reason", "Reason for leaving", f, bounds);
                pdfDoc.Pages[1].Graphics.DrawString("Total Annual salary:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 143);
    
                //Set position to draw form fields
                bounds.Y = bounds.Y + 18;
                CreateTextBox(pdfDoc.Pages[1], "Asalary", "Annual salary", f, bounds);
    
                pdfDoc.Pages[1].Graphics.DrawString("Duties:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 168);
                bounds.Y = bounds.Y + 50;
                bounds.X = 25;
                bounds.Height = bounds.Height * 4;
                CreateTextBox(pdfDoc.Pages[1], "Duties", "Duties", f, bounds);
                pdfDoc.Pages[1].Graphics.DrawString("Employment type:", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 268);
    
                #region Create ComboBox
    
                //Set position to draw Combo Box
                bounds.Y = bounds.Y + 74;
                bounds.Height = 20;
                bounds.X = 175;
    
                //Create a combo Box
                comboBox = new PdfComboBoxField(pdfDoc.Pages[1], "EmpType");
                comboBox.Bounds = bounds;
    
                comboBox.BorderColor = new PdfColor(Color.Gray);
                pdfFont = new PdfTrueTypeFont(f);
                comboBox.Font = pdfFont;
                comboBox.ToolTip = "Employment type";
    
                comboBox.Items.Add(new PdfListFieldItem("Full time", "ft"));
                comboBox.Items.Add(new PdfListFieldItem("Part time", "pt"));
    
                pdfDoc.Form.Fields.Add(comboBox);
                #endregion
    
                # endregion
    
                # region Third Page
                //Create submit button for next page navigation.
                submitButton = new PdfButtonField(pdfDoc.Pages[1], "Apply");
                submitButton.Bounds = new RectangleF(pdfDoc.Pages[1].GetClientSize().Width - 20, pdfDoc.Pages[1].GetClientSize().Height - 25, 20, 20);
                submitButton.Font = pdfFont;
                submitButton.BorderStyle = PdfBorderStyle.Beveled;
    
                page = pdfDoc.Pages[2];
                dest = new PdfDestination(page, new Point(0, 100));
                goToAction = new PdfGoToAction(page);
                goToAction.Destination = dest;
                submitButton.Actions.GotFocus = goToAction;
    
                img = new PdfBitmap(ResolveApplicationDataPath("Careers.png"));
                pdfDoc.Pages[2].Graphics.DrawImage(img, 0, 0, pageSize.Width, pageSize.Height);
    
                f = new Font("Calibri", 12f, FontStyle.Bold);
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[2].Graphics.DrawString("Thank You", pdfFont, new PdfSolidBrush(new PdfColor(213, 123, 19)), 25, 80);
    
                f = new Font("Calibri", 10f, FontStyle.Regular);
                pdfFont = new PdfTrueTypeFont(f);
                pdfDoc.Pages[2].Graphics.DrawString("Thanks for taking the time to complete this form.\nWe will be in contact with you shortly.", pdfFont, new PdfSolidBrush(new PdfColor(124, 143, 166)), 25, 110);
    
                //Send email
                PdfButtonField submitButton1 = new PdfButtonField(pdfDoc.Pages[2], "submitButton1");
                submitButton1.Bounds = new RectangleF(25, 160, 100, 20);
                submitButton1.Font = pdfFont;
                submitButton1.Text = "Apply";
                submitButton1.BorderStyle = PdfBorderStyle.Beveled;
                submitButton1.BackColor = new PdfColor(181, 191, 203);
    
                PdfJavaScriptAction javaAction = new PdfJavaScriptAction("address = app.response(\"Enter an e-mail address.\",\"SEND E-MAIL\",\"\");"
                    + "if (address)" +
    
                    "{ " +
                    "cmdLine = \"mailto:\" + address;" +
    
                    "this.submitForm(cmdLine,true,false,\"Remarks\");" +
    
                    "}");
    
                submitButton1.Actions.GotFocus = javaAction;
                pdfDoc.Form.SetDefaultAppearance(false);
                pdfDoc.Form.Fields.Add(submitButton1);
    
                # endregion
    
                if (this.CheckBox1.Checked)
                    pdfDoc.Save("Sample.pdf", Response, HttpReadType.Open);
                else
                    pdfDoc.Save("Sample.pdf", Response, HttpReadType.Save);
            }
            # endregion
    
            # region Helpher Methods
            /// <summary>
            /// Creates textbox and adds it in the form
            /// </summary>
            /// <param name="page"></param>
            /// <param name="text"></param>
            /// <param name="tooltip"></param>
            /// <param name="f"></param>
            /// <param name="bounds"></param>
            protected void CreateTextBox(PdfPage page, string text, string tooltip, Font f, RectangleF bounds)
            {
                PdfTextBoxField textBoxField = new PdfTextBoxField(page, text);
                //Set properties to the textbox
                textBoxField.ToolTip = tooltip;
                PdfTrueTypeFont font = new PdfTrueTypeFont(f);
                textBoxField.Font = font;
                textBoxField.BorderColor = new PdfColor(Color.Gray);
                textBoxField.BorderStyle = PdfBorderStyle.Beveled;
                textBoxField.Bounds = bounds;
                pdfDoc.Form.Fields.Add(textBoxField);
            }
    
            /// <summary>
            /// Data folder path is resolved from requested page physical path
            /// </summary>
            /// <param name="fileName"></param>
            /// <returns></returns>
            protected string ResolveApplicationDataPath(string fileName)
            {
                string dataPath = new System.IO.DirectoryInfo(Server.MapPath("~\\Content") + "\\PDF").FullName;
                return string.Format("{0}\\{1}", dataPath, fileName);
            }
            # endregion
        }
    }