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
`(package private) static class` `FdfWriter.Wrt`

### Field Summary

Fields
`(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
`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