Foxit Smart PDF Forms

Foxit’s smart PDF Form library which can programmatically show/hide fields, add conditional logic, create interactive elements and much more with a few lines of code. We even offer the ability to plug our forms into your database, so forms can be automatically pre-populated, or databases automatically updated once a form is submitted. Our technology allows your form filling process to be fully automated and pushes you ahead of your competitors. Using this best in class technology you can save money while creating more efficient workflows.

What are Smart PDF Forms?

Smart forms are fillable forms that include elements such as electronic completion and submission, dynamic fields, conditional logic, database calls and more. These forms bring documents that were once 50-100% paper to 100% digital documents. Although before PDF forms were not user friendly on mobile devices, with the use of reflow, smart PDF forms work seamlessly on any devices making them more accessible to the general population of the world. Even interactivity works 100% of the time, giving users the ability to fill out forms on the go, even working offline, just needing a internet connect to submit the information.

With full support to AcroForms, Foxit PDF SDK allows you to have full control of your form data. Exchange data between forms hosted in servers and users easily, display your form data in multiple PDFs, add customized security and much more.

Elements of PDF Forms

Fillable Smart PDF Form Fields

Dynamic and Interactive Fields

Conditional Form Field Logic

Linked databases using XML, FDF, XFDF

File Attachments for Submission

Digital / Ink Signatures within Forms

Field validation with conditional logic

Forms can ask for important information that users fill out incorrectly meaning that you cannot contact them to follow up for many different reasons. Adding field validation to the likes of email address, phone number and date fields means that users are less likely to give wrong information and smooths out any kinks that may happen in the form filling process. Field validation can be added programmatically through setting up rules. For email addresses this rule may specify that the field needs to include an ‘@’ symbol and end in ‘.com’. Phone number fields must only include numbers and contain a certain amount of numbers. Date fields can have a format rule so that users in EMEA and the US fill in dates consistently so as not to cause confusion.

Why Use PDF Forms

Reduced Data Entry Errors

Secure Personal Data Sharing

Lower Processing Costs Across the Board

Integrating Paper and Electronic Forms

Depending on how users provide data to your business now, it can make switching to electronic forms quick, or slightly slower. If you currently collect information via paper form, which is filled in and sent in the post to your office, you might need to slowly introduce the idea of fully electronic forms, using OCR scanning to bring existing forms from paper to digital. The move to 100% digital could a few months but if you start today, your business will thank you in the future.
If your business currently uses electronic forms that users download and send via email, the idea of submitting the form online without downloading it is not that far fetched so it can be achieved a lot sooner. Realising your document workflow and integrating forms at the right steps can ensure that is no disconnect between that your users are doing and what your business needs them to do at every step along the way.

Linking Forms to Databases

Once a user has submitted a form your workflow can automatically send a FDF file to your database, updating the relevant fields without the need for manual data entry. An FDF file is a text document that contains only form field data inside a single PDF object. This file is smaller than a PDF file and allows for direct automation of your data collection to reduce errors and decrease time spent on tasks. Foxit PDF SDK also supports exporting form data to XFDF files and XML if you are working with XFA forms.

USE CASES

Securely Capture Patient Data

Doctors, dentists and other healthcare professionals may need a lot of information from a patient in order to diagnose them but something this involves collection irrelevant information if forms are not created properly. Including conditional formatting and connecting forms to your patient database means smarter information gathering and automatically updated patient files without involving team members.

Automatic Quotes and Application Sign Off

Banking and insurance are fast paced industry that need things done yesterday in most cases. Use smart PDF forms to automate quotes and sign off on low revenue applications, freeing up teams to spend time on more worthwhile tasks, like winning bigger deals.

Advance Project Workflows with Information Gathering

Tailor forms so that question appear respective of the personnel who is filling it out to make sure that all information is gathered, including blueprints and compliance documentation as attachments. This will greatly improve processes and decrease the amount of time taken to collect data for project updates.

Trusted by some of the biggest companies in the world

Debeka Logo
Baxter Healthcare Logo
Legal & General Logo

Sample Code

FDF Exports

public class FDFImportExport {

private static String output_path = "your default output path";
private static String input_path = "your default input path goes here";    

    public static void main(String[] args) throws PDFException {

        int error_code = Library.initialize(sn, key);
        if (error_code != e_ErrSuccess) {
            System.out.println("Library Initialize Error: " + error_code);
            return;
        }
        try {

        	Range empty_range = new Range();
             //The code below imports a FDF file to your PDF and fills the form fields accordingly
            {
                String input_file = input_path + "Sample.pdf";
                String fdf_file = input_path + "SampleData.fdf";
                PDFDoc pdf_doc = new PDFDoc(input_file);
                error_code = pdf_doc.load(null);
                if (error_code != e_ErrSuccess) {
                    System.out.println("The Doc " + input_file + " Error: " + error_code);
                    return;
                }
                FDFDoc fdf_doc = new FDFDoc(fdf_file);
                pdf_doc.importFromFDF(fdf_doc, e_Annots, empty_range);
                String output_file = output_path + "Sample_importFDF.pdf";
                pdf_doc.saveAs(output_file, e_SaveFlagNoOriginal);
            }


            {
                //The code below exports your PDF form data as an FDF file 
                String input_file = input_path + "Sample.pdf";
                String output_fdf = output_path + "SampleDataExport_fdf.fdf";


                PDFDoc pdf_doc = new PDFDoc(input_file);
                error_code = pdf_doc.load(null);
                if (error_code != e_ErrSuccess) {
                    System.out.println("The Doc " + input_file + "Error: " + error_code);
                    return;
                }

                FDFDoc fdf_doc = new FDFDoc(e_FDF);
                pdf_doc.exportToFDF(fdf_doc, e_Annots, empty_range);
                fdf_doc.saveAs(output_fdf);
            }

            {
                // The code below exports your PDF form data as an XFDF file
                String input_file = input_path + "Sample.pdf";
                String output_xfdf = output_path + "SampleDataExport_xfdf.xfdf";

                PDFDoc pdf_doc = new PDFDoc(input_file);
                error_code = pdf_doc.load(null);
                if (error_code != e_ErrSuccess) {
                    System.out.println("The Doc " + input_file + " Error: " + error_code);
                    return;
                }

                FDFDoc fdf_doc = new FDFDoc(e_XFDF);
                pdf_doc.exportToFDF(fdf_doc, e_Annots, empty_range);
                fdf_doc.saveAs(output_xfdf);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        Library.release();
    }
    
}