com.aspose.pdf.facades

Class Form

    • Constructor Detail

      • Form

        public Form()

        Construtcor of Form without parameters.


         
           Form form = new com.aspose.pdf.facades.Form();
           form.setSrcFileName( "file.pdf");
         
      • Form

        public Form(IDocument document)

        Initializes new Form object on base of the document.

        Parameters:
        document - Pdf document.
      • Form

        @Deprecated
        public Form(IDocument document,
                                 OutputStream destStream)
        Deprecated. 

        Initializes new Form object on base of the document.

        Parameters:
        document - Pdf document. Obsolete("Use constructor without destination.")
        destStream - Destination stream.
      • Form

        @Deprecated
        public Form(IDocument document,
                                 String destFileName)
        Deprecated. 

        Initializes new Form object on base of the document.

        Obsolete("Use constructor without destination.")
        Parameters:
        document - Pdf document.
        destFileName - Path of the destination file.
      • Form

        public Form(InputStream srcStream)

        Constructor for form.


         
         Form form = new Form(new FileInputStream("PdfForm.pdf");
         
        Parameters:
        srcStream - source stream.
      • Form

        @Deprecated
        public Form(InputStream srcStream,
                                 OutputStream destStream)
        Deprecated. 

        Constructor of Form with two stream parameters. Specify same source and destination stream for incremental update.


         
         Form form = new Form(new FileInputStream("InFile.pdf"), new FileOutputStream("OutFile.pdf"));
         
        Obsolete("Use constructor without destination.")
        Parameters:
        srcStream - Source stream.
        destStream - Destination stream.
      • Form

        @Deprecated
        public Form(InputStream srcStream,
                                 String destFileName)
        Deprecated. 

        Constructor of Form


         
         Form form = new Form(new FileInputStream("PdfForm.pdf"), "PdfForm_Updated.pdf");
         
        Parameters:
        srcStream - Source stream.
        destFileName - Destination file path.
      • Form

        public Form(String srcFileName)

        Constructor of Form.


         
         Form form = new Form("PdfForm.pdf");
         
        Parameters:
        srcFileName - Source file path.
      • Form

        @Deprecated
        public Form(String srcFileName,
                                 OutputStream destStream)
        Deprecated. 

        Constructor of Form.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_Updated.pdf");
         Obsolete("Use constructor without destination.")
         
        Parameters:
        srcFileName - Source file path.
        destStream - Destination file path.
      • Form

        @Deprecated
        public Form(String srcFileName,
                                 String destFileName)
        Deprecated. 

        Constructor of Form class. Specify same source file name and destination file name to perform incremental update.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_Updated.pdf");
         
        Parameters:
        srcFileName - Path of the source file.
        destFileName - Path of the destination file.
    • Method Detail

      • bindPdf

        public void bindPdf(InputStream srcStream,
                            String password)

        Initializes the facade.

        Parameters:
        srcStream - The stream of PDF file.
        password - The password of the PDF document.
      • bindPdf

        public void bindPdf(String srcFile,
                            String password)

        Initializes the facade.

        Parameters:
        srcFile - The PDF file.
        password - The password of the PDF document.
      • close

        public void close()

        Closes opened files without any changes.

        Specified by:
        close in interface IFacade
        Specified by:
        close in interface IForm
      • dispose

        public void dispose()

        Closes all opened resources.

        Specified by:
        dispose in interface com.aspose.ms.System.IDisposable
      • exportFdf

        public void exportFdf(OutputStream outputFdfStream)

        Exports the content of the fields of the pdf into the fdf stream.


         
         Form form = new Form("PdfForm.pdf");
         OutputStream stream = new FileOutputStream("export.fdf");
         form.exportFdf(stream);
         stream.close();
         
        Specified by:
        exportFdf in interface IForm
        Parameters:
        outputFdfStream - The output fdf stream.
      • exportXfdf

        public void exportXfdf(OutputStream outputXfdfStream)

        Exports the content of the fields of the pdf into the xml stream. The button field's value will not be exported.


         
          Form form = new Form("PdfForm.pdf");
          FileInputStream fs = new FileInputStream("export.xfdf", FileMode.Create, FileAccess.Write);
          form.exportXfdf(fs);
          fs.close();
         
        Specified by:
        exportXfdf in interface IForm
        Parameters:
        outputXfdfStream - The output xml stream.
      • exportXml

        public void exportXml(OutputStream outputXmlStream)

        Exports the content of the fields of the pdf into the xml stream. The button field's value will not be exported.


         
         Form form = new Form("PdfForm.pdf"));
         OutputStream fs = new FileOutputStream("export.xml");
         form.exportXml(fs);
         fs.close();
         
        Specified by:
        exportXml in interface IForm
        Parameters:
        outputXmlStream - Output Xml stream.
      • extractXfaData

        public void extractXfaData(OutputStream outputXmlStream)

        Extracts XFA data packet

        Parameters:
        outputXmlStream - Stream where XML data will be stored.
      • fillBarcodeField

        public boolean fillBarcodeField(String fieldName,
                                        String data)

        Fill a barcode field according to its fully qualified field name.


         
         Form form = new Form("PdfForm.pdf");
         form.fillBarcodeField("textField", "42207252");
         
        Specified by:
        fillBarcodeField in interface IForm
        Parameters:
        fieldName - The fully qualified field name.
        data - The new barcode value.
        Returns:
        If filling succeed, return true; otherwise, false.
      • fillField

        public boolean fillField(String fieldName,
                                 boolean beChecked)

        Fills the check box field with a boolean value. Notice: Only be applied to Check Box. Please note that Facades supports only full field names and does not work with partial field names in contrast with Aspose.Pdf.Kit; For example if field has full name "Form.Subform.CheckBoxField" you should specify full name and not "CheckBoxField". You can use FieldNames property to explore existing field names and search required field by its partial name.


         
         Form form = new Form("PdfForm.pdf");
         form.fillField("checkboxField", true);
         
         
         //how to search field by its partial name:
         Form form = new Form("input.pdf", "output.pdf"); 
         for(String fieldName : form.getFieldNames())
         {
           if (fieldName.endsWith("CheckBoxField"))
           {
             System.out.println("Full name is: " + fieldName);
           }
         }
         
        Specified by:
        fillField in interface IForm
        Parameters:
        fieldName - The field's name to be filled.
        beChecked - A boolean flag: true means to check the box, while false to uncheck it.
        Returns:
        true if field was found and successfully filled.
      • fillField

        public boolean fillField(String fieldName,
                                 int index)

        Fills the radio box field with a valid index value according to a fully qualified field name. Before filling the fields, only field's name must be known. While the value can be specified by its index. Notice: Only be applied to Radio Box, Combo Box and List Box fields. Please note that Facades supports only full field names and does not work with partial field names in contrast with Aspose.Pdf.Kit; For example if field has full name "Form.Subform.ListBoxField" you should specify full name and not "ListBoxField". You can use FieldNames property to explore existing field names and search required field by its partial name.


         
         //1
         Form form = new Form("PdfForm.pdf");
         form.fillField("listboxField", 2);
         form.fillField("comboboxField", 2);
         form.fillField("radiobuttonField", 2);
         
         //2
         //how to search field by its partial name:
         Form form = new Form("input.pdf", "output.pdf"); 
         for(String fieldName : form.getFieldNames())
         {
           if (fieldName.endsWith("ListBoxField"))
           {
             System.out.println("Full name is: " + fieldName);
           }
         }
         
        Specified by:
        fillField in interface IForm
        Parameters:
        fieldName - Name of field to be filled.
        index - Index of chosen item.
        Returns:
        true if field was found and successfully filled.
      • fillField

        public boolean fillField(String fieldName,
                                 String fieldValue)

        Fills the field with a valid value according to a fully qualified field name. Before filling the fields, every field's names and its corresponding valid values must be known. Both the fields' name and values are case sensitive. Please note that Facades supports only full field names and does not work with partial field names in contrast with Aspose.Pdf.Kit; For example if field has full name "Form.Subform.TextField" you should specify full name and not "TextField". You can use FieldNames property to explore existing field names and search required field by its partial name.


         
         Form form = new Form("PdfForm.pdf");
         form.fillField("FirstName", "John");
         form.fillField("LastName",  "Smith");
         
        
         //how to search field by its partial name:
         Form form = new Form("input.pdf", "output.pdf"); 
         for(String fieldName : form.getFieldNames())
         {
           if (fieldName.endsWith("TextField"))
           {
             System.out.println("Full name is: " + fieldName);
           }
         }
         
        Specified by:
        fillField in interface IForm
        Parameters:
        fieldName - The field's name to be filled.
        fieldValue - The field's value which must be a valid value for some fields.
        Returns:
        true if field is found and filled successfully.
      • fillField

        public boolean fillField(String fieldName,
                                 String value,
                                 boolean fitFontSize)

        Fills field with specified value.

        Specified by:
        fillField in interface IForm
        Parameters:
        fieldName - Name of field
        value - New value of the field
        fitFontSize - If true, the font size in the edit boxes will be fitted.
        Returns:
        true if field was found and successfully filled.
      • fillField

        public void fillField(String fieldName,
                              String[] fieldValues)

        Fill a field with multiple selections.Note: only for AcroForm List Box Field.


         
         Form form = new com.aspose.pdf.Form("PdfForm.pdf", "Form_Updated.pdf");
         form.fillField("ListBox1", new String[] { "Three", "One" });
         form.save();
         
        Specified by:
        fillField in interface IForm
        Parameters:
        fieldName - The fully qualified field name.
        fieldValues - A String array which contains several items to be selected.
      • fillImageField

        public void fillImageField(String fieldName,
                                   InputStream imageStream)

        Overloads function of FillImageField. The input is a image stream.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_filled.pdf");
         form.fillImageField("fieldName", new FileInputStream("file.jpg", FileMode.Open, FileAccess.Read));
         
        Specified by:
        fillImageField in interface IForm
        Parameters:
        fieldName - The fully qualified field name.
        imageStream - The image's stream.
      • fillImageField

        public void fillImageField(String fieldName,
                                   String imageFileName)

        Pastes an image onto the existing button field as its appearance according to its fully qualified field name.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_filled.pdf");
         form.fillImageField("fieldName", "file.jpg");
         form.save();
         
        Specified by:
        fillImageField in interface IForm
        Parameters:
        fieldName - The fully qualified field name of the image button field.
        imageFileName - The path of the image file, relative and absolute are both ok.
      • flattenAllFields

        public void flattenAllFields()

        Flattens all the fields.


         
         Form form = new Form("PdfForm.pdf");
         form.flattenAllFields();
         
        Specified by:
        flattenAllFields in interface IForm
      • flattenField

        public void flattenField(String fieldName)

        Flattens a specified field with the fully qualified field name. Any other field will remain unchangable. If the fieldName is invalid, all the fields will remain unchangable.


         
         Form form = new Form("PdfForm.pdf");
         form.flattenField("textField");
         
        Specified by:
        flattenField in interface IForm
        Parameters:
        fieldName - The name of the field to be flattened.
      • getAttachmentName

        public String getAttachmentName()

        Gets name of attachment when result of operation is stored into HttpResponse objects as attachment.

        Specified by:
        getAttachmentName in interface IForm
        Returns:
        string object
      • getButtonOptionCurrentValue

        public String getButtonOptionCurrentValue(String fieldName)

        Returns the current value for radio button option fields.


         
         Form form = new Form("PdfForm.pdf");
         System.out.println(form.GetButtonOptionCurrentValue("btnField"));
         
        Specified by:
        getButtonOptionCurrentValue in interface IForm
        Parameters:
        fieldName - Field Name
        Returns:
        String value for the current radio group optino. See also GetButtonOptionValues
      • getButtonOptionValues

        public Hashtable<String,String> getButtonOptionValues(String fieldName)

        Gets the radio button option fields and related values based on the field name. This method has meaning for radio button groups.


         
                          Form form = new Form("PdfForm.pdf");
                          java.util.Map values = form.getButtonOptionValues("Color");
                          System.out.println(values.get("White").toString());
                          System.out.println(values.get("Black").toString());
         
        Specified by:
        getButtonOptionValues in interface IForm
        Parameters:
        fieldName - Field Name
        Returns:
        Hash table of option values keyed by form item name
      • getButtonOptionValuesInternal

        public com.aspose.ms.System.Collections.Generic.Dictionary<String,String> getButtonOptionValuesInternal(String fieldName)

        Gets the radio button option fields and related values based on the field name. This method has meaning for radio button groups.


         
         Form form = new Form("PdfForm.pdf");
         Hashtable values = form.getButtonOptionValues("Color");
         System.out.println(values["White"].toString());
         System.out.println(values["Black"].toString());
         
        Specified by:
        getButtonOptionValuesInternal in interface IForm
        Parameters:
        fieldName - Field Name
        Returns:
        Hash table of option values keyed by form item name
      • getContentDisposition

        public int getContentDisposition()

        Gets or sets how content will be stored when result of operation is stored into HttpResponse object. Possible value: inline / attachment. Default: inline.

        Specified by:
        getContentDisposition in interface IForm
        Returns:
        ContentDisposition element
        See Also:
        ContentDisposition
      • getField

        public String getField(String fieldName)

        Gets the field's value according to its field name.


         
         Form form = new Form("PdfForm.pdf");
         System.out.println("Field value = " + form.getField("Field1"));
         
        Specified by:
        getField in interface IForm
        Parameters:
        fieldName - The fully qualified field name.
        Returns:
        The field's value.
      • getFieldFacade

        public FormFieldFacade getFieldFacade(String fieldName)

        Returns FrofmFieldFacade object containing all appearance attributes.


         
         com.aspose.pdf.facades.Form form = new com.aspose.pdf.facades.Form("form.pdf"));
         FormFieldFacade field = form.getFieldFacade("field1");
         System.out.println("Color of field border: " + field.getBorderColor());
         
        Specified by:
        getFieldFacade in interface IForm
        Parameters:
        fieldName - Name of field to read.
        Returns:
        FormFieldFacade object
      • getFieldFlag

        public int getFieldFlag(String fieldName)

        Returns flags of the field.


         
         
         Form form = new Form("PdfForm.pdf");
         if (form.getFieldFlag("textField") == ProptyFlag.ReadOnly)
         {
            System.out.println("Field is read-only");
         }
         
        Specified by:
        getFieldFlag in interface IForm
        Parameters:
        fieldName - Field name
        Returns:
        Property flag (ReadOnly/ Required/NoExport
        See Also:
        PropertyFlag
      • getFieldLimit

        public int getFieldLimit(String fieldName)

        Get the limitation of text field.


         
         
         Form form = new Form("PdfForm.pdf");
         System.out.println(form.getFieldLimit("textfieldBox"));
         
        Specified by:
        getFieldLimit in interface IForm
        Parameters:
        fieldName - The qualified field name.
        Returns:
        Return the limitation number of characters a text field can be filled. It not set, return 0.
      • getFieldNames

        public String[] getFieldNames()

        Gets list of field names on the form.


         
         
         Form form = new Form("PdfForm.pdf");
         String[] fields = form.getFieldNames();
         for(String field : fields)
         {
           System.out.println(field);
         }
         
        Specified by:
        getFieldNames in interface IForm
        Returns:
        String[] object
      • getFieldType

        public int getFieldType(String fieldName)

        Returns type of field.


         
         Form form = new Form("PdfForm.pdf");
         if (form.getFieldType("textField") == FieldType.Text)
         {
            System.out.println("Type of field is text");
         }
         
        Specified by:
        getFieldType in interface IForm
        Parameters:
        fieldName - Field name.
        Returns:
        Element of FileType enumeration corresponding to field type.
        See Also:
        FieldType
      • getFormSubmitButtonNames

        public String[] getFormSubmitButtonNames()

        Gets all form submit button names.


         
         Form form = new Form("PdfForm.pdf");
         String[] submits = form.getFormSubmitButtonNames();
         for(String btn : submits)
         {
           System.out.println(btn);
         }
         
        Specified by:
        getFormSubmitButtonNames in interface IForm
        Returns:
        String[] object
      • getFullFieldName

        public String getFullFieldName(String fieldName)

        Gets the full field name according to its short field name.


         
         Form form = new Form("PdfForm.pdf");
         System.out.println("Full field name is : " + form.getFullFieldName("textField"));
         
        Specified by:
        getFullFieldName in interface IForm
        Parameters:
        fieldName - The fully qualified field name.
        Returns:
        The full field name.
      • getImportResult

        public com.aspose.pdf.facades.AForm.FormImportResult[] getImportResult()

        Result of last import operation. Array of objects which describe result of import for each field.

        Returns:
        FormImportResult[] array
      • getRichText

        public String getRichText(String fieldName)

        Get a Rich Text field's value, including the formatting information of every character.


         
         Form form = new Form("PdfForm.pdf");
         System.out.println(form.getRichText("txtDescriptionRTF"));
         
        Specified by:
        getRichText in interface IForm
        Parameters:
        fieldName - The fully qualified field name of the Rich Text field.
        Returns:
        Return a String containing formatting information of the Rich Text field.
      • getSaveOptions

        public SaveOptions getSaveOptions()

        Gets or sets save options when result is stored as HttpResponse. Default value: PdfSaveOptions.

        Specified by:
        getSaveOptions in interface IForm
        Returns:
        SaveOptions object
      • getSrcFileName

        @Deprecated
        public String getSrcFileName()
        Deprecated. 

        Gets source file name.


         
           Form form = new com.aspose.pdf.Form();
           form.setSrcFileName("file.pdf");
         
        Specified by:
        getSrcFileName in interface IForm
        Returns:
        string object
      • getSrcStream

        public InputStream getSrcStream()

        Gets source stream.

        Specified by:
        getSrcStream in interface IForm
        Returns:
        InputStream object
      • getSubmitFlags

        public int getSubmitFlags(String fieldName)

        Returns the submit button's submission flags


         Form form = new Form("PdfForm.pdf");
         System.out.println( ( form.getSubmitFlags("btnSubmit") | SubmitFormFlag.Xfdf != 0) ? " XFDF" : " ");
         /// System.out.println( ( form.getSubmitFlags("btnSubmit") | SubmitFormFlag.Fdf != 0) ? " FDF" : " ");
         System.out.println( ( form.getSubmitFlags("btnSubmit") | SubmitFormFlag.Pdf != 0) ? " PDF" : " ");
         
        Specified by:
        getSubmitFlags in interface IForm
        Parameters:
        fieldName - The qualified field name.
        Returns:
        Submission flags of the button.
        See Also:
        SubmitFormFlag
      • importFdf

        public void importFdf(InputStream inputFdfStream)

        Imports the content of the fields from the fdf file and put them into the new pdf.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_imported.pdf");
         form.importFdf(new FileInputStream("data.fdf"));
         form.save();
         
        Specified by:
        importFdf in interface IForm
        Parameters:
        inputFdfStream - The input fdf stream.
      • importXfdf

        public void importXfdf(InputStream inputXfdfStream)

        Imports the content of the fields from the xfdf(xml) file and put them into the new pdf.


         
         Form form = new Form("PdfForm.pdf", "Form_ImportXfdf.pdf");
         InputStream fs = new FileInputStream("export_old.xfdf");
         form.importXfdf(fs);
         fs.close();
         form.save();
         
        Specified by:
        importXfdf in interface IForm
        Parameters:
        inputXfdfStream - The input xfdf(xml) stream.
      • importXml

        public void importXml(InputStream inputXmlStream)

        Imports the content of the fields from the xml file and put them into the new pdf.


         
         Form form = new Form("PdfForm.pdf");
         InputStream fs = new FileInputStream("import.xml");
         form.importXml(fs);
         form.save("Form_Imported.pdf");
         
        Specified by:
        importXml in interface IForm
        Parameters:
        inputXmlStream - Stream from which XML for import is read.
      • importXml

        public void importXml(InputStream inputXmlStream,
                              boolean IgnoreFormTemplateChanges)

        Imports the content of the fields from the xml file and put them into the new pdf.

        Specified by:
        importXml in interface IForm
        Parameters:
        inputXmlStream - The input xml stream.
        IgnoreFormTemplateChanges - If this parameter is true then all changes of the XFA form template will not be saved
      • importXml

        public void importXml(String inputXml)

        Imports the content of the fields from the xml file and put them into the new pdf.


         
         Form form = new Form("PdfForm.pdf");
         form.importXml("import.xml");
         form.save( "Form_Imported.pdf");
         
        Parameters:
        inputXml - Stream from which XML for import is read.
      • isRequiredField

        public boolean isRequiredField(String fieldName)

        Determines whether field is required or not.

        Parameters:
        fieldName - The name of field.
        Returns:
        True - the field is required; otherwise, false.
      • renameField

        public void renameField(String fieldName,
                                String newFieldName)

        Renames a field. Either AcroForm field or XFA field is OK.


         Form form = new Form("PdfForm.pdf", "PdfFormUpdated.pdf");
         form.renameField("field", "field1");
         form.save();
         
        Specified by:
        renameField in interface IForm
        Parameters:
        fieldName - the old field name
        newFieldName - the new field name
      • save

        public void save()

        Saves the value of the filled fields and close the opened Pdf document.


         
         Form form = new Form("PdfForm.pdf", "PdfForm_Changed.pdf");
         form.fillField("textField", "new value");
         form.save();
         
        Specified by:
        save in interface IForm
      • save

        public void save(OutputStream destStream)

        Saves document into specified stream.

        Specified by:
        save in interface ISaveableFacade
        Parameters:
        destStream - Stream where document will be saved.
      • save

        public void save(String destFile)

        Saves document into specified file.

        Specified by:
        save in interface ISaveableFacade
        Parameters:
        destFile - File where document will be saved.
      • setAttachmentName

        public void setAttachmentName(String value)

        Sets name of attachment when result of operation is stored into HttpResponse objects as attachment.

        Specified by:
        setAttachmentName in interface IForm
        Parameters:
        value - String object
      • setContentDisposition

        public void setContentDisposition(int value)

        Sets how content will be stored when result of operation is stored into HttpResponse object. Possible value: inline / attachment. Default: inline.

        Specified by:
        setContentDisposition in interface IForm
        Parameters:
        value - ContentDisposition element
        See Also:
        ContentDisposition
      • setConvertTo

        public void setConvertTo(int value)

        Sets PDF file format. Result file will be saved in specified file format. If this property is not specified then file will be save in default PDF format without conversion.

        Specified by:
        setConvertTo in interface IForm
        Parameters:
        value - PdfFormat element
        See Also:
        PdfFormat
      • setDestFileName

        @Deprecated
        public void setDestFileName(String value)
        Deprecated. 

        Sets destination file name.


         
           Form form = new com.aspose.pdf.Form();
           form.setDestFileName("file.pdf");
         
        Specified by:
        setDestFileName in interface IForm
        Parameters:
        value - String object
      • setDestStream

        @Deprecated
        public void setDestStream(OutputStream value)
        Deprecated. 

        Gets destination stream.


         
           Form form = new com.aspose.pdf.Form();
           form.setDestStream (new FileInputStream("file.pdf"));
         
        Specified by:
        setDestStream in interface IForm
        Parameters:
        value - OutputStream object
      • setSaveOptions

        public void setSaveOptions(SaveOptions value)

        Gets or sets save options when result is stored as HttpResponse. Default value: PdfSaveOptions.

        Specified by:
        setSaveOptions in interface IForm
        Parameters:
        value - SaveOptions object
      • setSrcFileName

        @Deprecated
        public void setSrcFileName(String value)
        Deprecated. 

        Sets source file name.

        Specified by:
        setSrcFileName in interface IForm
        Parameters:
        value - string object
      • setSrcStream

        public void setSrcStream(InputStream value)

        Gets source stream.


         
          Form form = new com.aspose.pdf.Form();
          form.setSrcStream (new FileInputStream("source.pdf")));
         
        Specified by:
        setSrcStream in interface IForm
        Parameters:
        value - InputStream object
      • setXfaData

        public void setXfaData(InputStream inputXmlStream)

        Replaces XFA data with specified data packet. Data packet may be extracted using ExtractXfaData.

        Parameters:
        inputXmlStream - Stream where XML is stored.