com.lowagie.text.pdf

## Class FdfWriter

- java.lang.Object
- - com.lowagie.text.pdf.FdfWriter

-     public class FdfWriter
      extends java.lang.Object

  Writes an FDF form.
  Author:
    Paulo Soares (psoares@consiste.pt)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) static class` | `FdfWriter.Wrt`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) java.util.HashMap` | `fields`
    `private java.lang.String` | `file` The PDF file associated with the FDF.
    `private static byte[]` | `HEADER_FDF`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FdfWriter()` Creates a new FdfWriter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getField(java.lang.String field)` Gets the field value.
    `java.util.HashMap` | `getFields()` Gets all the fields.
    `java.lang.String` | `getFile()` Gets the PDF file name associated with the FDF.
    `(package private) void` | `iterateFields(java.util.HashMap values, java.util.HashMap map, java.lang.String name)`
    `boolean` | `removeField(java.lang.String field)` Removes the field value.
    `(package private) boolean` | `setField(java.lang.String field, PdfObject value)`
    `boolean` | `setFieldAsAction(java.lang.String field, PdfAction action)` Sets the field value as a `PDFAction`.
    `boolean` | `setFieldAsName(java.lang.String field, java.lang.String value)` Sets the field value as a name.
    `boolean` | `setFieldAsString(java.lang.String field, java.lang.String value)` Sets the field value as a string.
    `void` | `setFields(AcroFields af)` Sets all the fields from this `AcroFields`
    `void` | `setFields(FdfReader fdf)` Sets all the fields from this `FdfReader`
    `void` | `setFields(PdfReader pdf)` Sets all the fields from this `PdfReader`
    `void` | `setFile(java.lang.String file)` Sets the PDF file name associated with the FDF.
    `void` | `writeTo(java.io.OutputStream os)` Writes the content to a stream.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HEADER_FDF

          private static final byte[] HEADER_FDF

    - #### fields

          java.util.HashMap fields

    - #### file

          private java.lang.String file

      The PDF file associated with the FDF.

  - ### Constructor Detail

    - #### FdfWriter

          public FdfWriter()

      Creates a new FdfWriter.

  - ### Method Detail

    - #### writeTo

          public void writeTo(java.io.OutputStream os)
                       throws java.io.IOException

      Writes the content to a stream.
      Parameters:
        `os` - the stream
      Throws:
        `java.io.IOException` - on error

    - #### setField

          boolean setField(java.lang.String field,
                         PdfObject value)

    - #### iterateFields

          void iterateFields(java.util.HashMap values,
                           java.util.HashMap map,
                           java.lang.String name)

    - #### removeField

          public boolean removeField(java.lang.String field)

      Removes the field value.
      Parameters:
        `field` - the field name
      Returns:
        `true` if the field was found and removed, `false` otherwise

    - #### getFields

          public java.util.HashMap getFields()

      Gets all the fields. The map is keyed by the fully qualified field name and the values are `PdfObject`.
      Returns:
        a map with all the fields

    - #### getField

          public java.lang.String getField(java.lang.String field)

      Gets the field value.
      Parameters:
        `field` - the field name
      Returns:
        the field value or `null` if not found

    - #### setFieldAsName

          public boolean setFieldAsName(java.lang.String field,
                               java.lang.String value)

      Sets the field value as a name.
      Parameters:
        `field` - the fully qualified field name
        `value` - the value
      Returns:
        `true` if the value was inserted, `false` if the name is incompatible with an existing field

    - #### setFieldAsString

          public boolean setFieldAsString(java.lang.String field,
                                 java.lang.String value)

      Sets the field value as a string.
      Parameters:
        `field` - the fully qualified field name
        `value` - the value
      Returns:
        `true` if the value was inserted, `false` if the name is incompatible with an existing field

    - #### setFieldAsAction

          public boolean setFieldAsAction(java.lang.String field,
                                 PdfAction action)

      Sets the field value as a `PDFAction`. For example, this method allows setting a form submit button action using `PdfAction.createSubmitForm(String, Object[], int)`. This method creates an `A` entry for the specified field in the underlying FDF file. Method contributed by Philippe Laflamme (plaflamme)
      Parameters:
        `field` - the fully qualified field name
        `action` - the field's action
      Returns:
        `true` if the value was inserted, `false` if the name is incompatible with an existing field
      Since:
        2.1.5

    - #### setFields

          public void setFields(FdfReader fdf)

      Sets all the fields from this `FdfReader`
      Parameters:
        `fdf` - the `FdfReader`

    - #### setFields

          public void setFields(PdfReader pdf)

      Sets all the fields from this `PdfReader`
      Parameters:
        `pdf` - the `PdfReader`

    - #### setFields

          public void setFields(AcroFields af)

      Sets all the fields from this `AcroFields`
      Parameters:
        `af` - the `AcroFields`

    - #### getFile

          public java.lang.String getFile()

      Gets the PDF file name associated with the FDF.
      Returns:
        the PDF file name associated with the FDF

    - #### setFile

          public void setFile(java.lang.String file)

      Sets the PDF file name associated with the FDF.
      Parameters:
        `file` - the PDF file name associated with the FDF