福昕智能PDF表单

福昕智能PDF表单可以动态显示/隐藏字段、添加条件逻辑、创建交互元素等,开发人员只需编写几行代码就可以实现这些功能。我们甚至提供了将表单导入数据库的功能,实现自动预填写表单,以及在提交表单时自动更新数据库。我们的技术支持完全自动填写表单,使您在竞争中保持领先地位。使用这种先进的技术,您可以节省成本,同时创造更高效的工作流。

什么是智能PDF表单?

智能表单是可填写的表单,包括在线填写和提交、动态字段、条件逻辑、数据库调用等元素。有了智能表单,纸质文档可以实现数字化。尽管以前在移动设备上,PDF格式对用户不友好,但有了文本重排功能之后,智能PDF表单可以在任何设备上无缝地工作,使它们更容易被世界上的普通大众所接受。即使是交互性也能有效地发挥作用,使得用户可以随时随地填写表单,甚至可以离线工作,只需连接互联网,就可以提交信息。

Foxit PDF SDK完全支持AcroForm表单,可以有效管理表单数据。托管在服务器上的表单和用户之间可以轻松地交换数据,可以在多个PDF文件中显示表单数据,并设置安全保护等。

PDF表单元素

可填写的智能PDF表单字段

动态和交互式字段

有条件的表单字段逻辑

使用XML、FDF、XFDF连接数据库

提交文件附件

数字/墨水签名

带条件逻辑的字段验证

表单可以要求用户填写重要的信息,但出于各种原因,用户可能填写错误,导致您无法与用户进行联系。向电子邮件地址、电话号码和日期等字段添加字段验证,这样一来,用户不太可能给出错误的信息,还能避免表单填写过程中可能发生的任何问题。通过设置规则,可以动态添加字段验证。对于电子邮件地址,这个规则可能指定字段需要包含一个'@'符号,并以'.com'结尾。电话号码字段必须包含一定数量的数字。日期字段可以设置一个格式规则,以便欧洲、中东和非洲以及美国的用户能够填写格式一致的日期,以免造成混淆。

为什么使用PDF表单?

减少数据输入错误

保护共享的个人数据的安全

减少董事会的处理成本

整合纸质和电子表单

根据用户现在向您的公司提供数据的方式,它可以快速地或者相对较快地切换到电子表单。如果您现在还是通过纸质表单收集信息,并将其发送到您的办公室,那么,您可能需要慢慢地引入全电子表单的概念,使用OCR扫描将现有的表单数字化。全面实现数字化可能需要数月的时间,但是,如果您今天开始数字化,您的公司在未来需要感谢您。

如果您的公司目前使用的是电子表单,用户可以通过电子邮件下载和发送,那么,在不下载的情况下在线提交表单的想法并不是那么不切实际,这一目标可以更快地实现。了解您的文档工作流程并在正确的步骤集成表单,可以确保您的用户正在做的事情和您的公司在每一步需要他们做的事情之间没有脱节。

将表单连接到数据库

一旦用户提交了表单,您的工作流就可以自动将FDF文件发送到数据库,更新相关字段,而不需要手动输入数据。FDF文件是一个文本文档,它只包含单个PDF对象中的表单字段数据。该文件比PDF文件小,支持自动化收集数据,减少错误的同时减少在任务上花费的时间。Foxit PDF SDK还支持将XFA表单数据以XFDF和XML格式的文件导出。 

使用案例

安全地获取患者数据

医生、牙医和其他医疗保健专家可能需要获取大量关于患者的信息才能为他们诊断,但是,如果没有创建正确的表单,专家们会收集到无关的信息。添加表单字段格式条件设置并将表单连接到您的患者数据库可以更智能地收集信息,可以自动更新患者文件,无需团队成员额外操作。

自动签发报价和申请

银行业和保险业是快节奏的行业,在大多数情况下,需要处理的事情要提前完成。对于低利润的申请,使用智能PDF表单进行自动报价和签发,让团队腾出时间来完成更有价值的任务,比如赢得更大的交易。

利用信息收集推进项目工作流程

为用户定制表单,为不同的用户设置不同的问题,这样才能确保收集到所有的信息,包括提供蓝图和合规性文档作为附件。这将极大地改进流程,减少为了更新项目而收集数据所花费的时间。

全球大型公司选择Foxit PDF SDK

Debeka Logo
Baxter Healthcare Logo
Legal & General Logo

示例代码

导出FDF文件

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();
    }
    
}