com.lowagie.text.pdf

## Class FdfReader

- java.lang.Object
- - com.lowagie.text.pdf.PdfReader
  - - com.lowagie.text.pdf.FdfReader

- All Implemented Interfaces:
    PdfViewerPreferences

      public class FdfReader
      extends PdfReader

  Reads an FDF form and makes the fields available
  Author:
    Paulo Soares (psoares@consiste.pt)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.lowagie.text.pdf.PdfReader

      `PdfReader.PageRefs`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) PdfName` | `encoding`
    `(package private) java.util.HashMap` | `fields`
    `(package private) java.lang.String` | `fileSpec`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfReader

      `acroForm, acroFormParsed, catalog, certificate, certificateKey, certificateKeyProvider, consolidateNamedDestinations, decrypt, encrypted, endobj, endstream, eofPos, freeXref, lastXref, newXrefType, objStmMark, objStmToOffset, pageInhCandidates, pageRefs, password, pdfVersion, pValue, rebuilt, remoteToLocalNamedDestinations, rootPages, rValue, sharedStreams, strings, tampered, tokens, trailer, xref`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FdfReader(byte[] pdfIn)` Reads an FDF form.
    `FdfReader(java.io.InputStream is)` Reads an FDF form.
    `FdfReader(java.lang.String filename)` Reads an FDF form.
    `FdfReader(java.net.URL url)` Reads an FDF form.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PdfDictionary` | `getField(java.lang.String name)` Gets the field dictionary.
    `java.util.HashMap` | `getFields()` Gets all the fields.
    `java.lang.String` | `getFieldValue(java.lang.String name)` Gets the field value or `null` if the field does not exist or has no value defined.
    `java.lang.String` | `getFileSpec()` Gets the PDF file specification contained in the FDF.
    `protected void` | `kidNode(PdfDictionary merged, java.lang.String name)`
    `protected void` | `readFields()`
    `protected void` | `readPdf()`

    - ### Methods inherited from class com.lowagie.text.pdf.PdfReader

      `addPdfObject, addViewerPreference, ASCII85Decode, ASCIIHexDecode, close, computeUserPassword, consolidateNamedDestinations, createFakeFontSubsets, decodePredictor, dumpPerc, duplicatePdfDictionary, duplicatePdfObject, eliminateSharedStreams, equalsn, existsName, FlateDecode, FlateDecode, getAcroFields, getAcroForm, getBoxSize, getCatalog, getCertificationLevel, getCropBox, getCryptoMode, getCryptoRef, getDecrypt, getEofPos, getFileLength, getFontName, getInfo, getJavaScript, getJavaScript, getLastXref, getLinks, getMetadata, getNamedDestination, getNamedDestination, getNamedDestinationFromNames, getNamedDestinationFromNames, getNamedDestinationFromStrings, getNormalizedRectangle, getNumberOfPages, getPageContent, getPageContent, getPageN, getPageNRelease, getPageOrigRef, getPageRotation, getPageRotation, getPageSize, getPageSize, getPageSizeWithRotation, getPageSizeWithRotation, getPdfObject, getPdfObject, getPdfObject, getPdfObjectRelease, getPdfObjectRelease, getPdfObjectRelease, getPdfReaderInstance, getPdfVersion, getPermissions, getSafeFile, getSimpleViewerPreferences, getStreamBytes, getStreamBytes, getStreamBytesRaw, getStreamBytesRaw, getSubsetPrefix, getTrailer, getXrefSize, is128Key, isAppendable, isEncrypted, isHybridXref, isMetadataEncrypted, isNewXrefType, isOpenedWithFullPermissions, isRebuilt, isTampered, killIndirect, killXref, LZWDecode, makeRemoteNamedDestinationsLocal, readArray, readDictionary, readDocObj, readDocObjPartial, readObjStm, readOneObjStm, readPages, readPdfPartial, readPRObject, readSingleObject, readXref, readXrefSection, readXRefStream, rebuildXref, releaseLastXrefPartial, releaseLastXrefPartial, releasePage, removeAnnotations, removeFields, removeUnusedNode, removeUnusedObjects, removeUsageRights, resetLastXrefPartial, resetReleasePage, selectPages, selectPages, setAppendable, setPageContent, setPageContent, setTampered, setViewerPreferences, setViewerPreferences, shuffleSubsetNames`

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

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

- - ### Field Detail

    - #### fields

          java.util.HashMap fields

    - #### fileSpec

          java.lang.String fileSpec

    - #### encoding

          PdfName encoding

  - ### Constructor Detail

    - #### FdfReader

          public FdfReader(java.lang.String filename)
                    throws java.io.IOException

      Reads an FDF form.
      Parameters:
        `filename` - the file name of the form
      Throws:
        `java.io.IOException` - on error

    - #### FdfReader

          public FdfReader(byte[] pdfIn)
                    throws java.io.IOException

      Reads an FDF form.
      Parameters:
        `pdfIn` - the byte array with the form
      Throws:
        `java.io.IOException` - on error

    - #### FdfReader

          public FdfReader(java.net.URL url)
                    throws java.io.IOException

      Reads an FDF form.
      Parameters:
        `url` - the URL of the document
      Throws:
        `java.io.IOException` - on error

    - #### FdfReader

          public FdfReader(java.io.InputStream is)
                    throws java.io.IOException

      Reads an FDF form.
      Parameters:
        `is` - the `InputStream` containing the document. The stream is read to the end but is not closed
      Throws:
        `java.io.IOException` - on error

  - ### Method Detail

    - #### readPdf

          protected void readPdf()
                          throws java.io.IOException

      Overrides:
        `readPdf` in class `PdfReader`
      Throws:
        `java.io.IOException`

    - #### kidNode

          protected void kidNode(PdfDictionary merged,
                     java.lang.String name)

    - #### readFields

          protected void readFields()

    - #### getFields

          public java.util.HashMap getFields()

      Gets all the fields. The map is keyed by the fully qualified field name and the value is a merged `PdfDictionary` with the field content.
      Returns:
        all the fields

    - #### getField

          public PdfDictionary getField(java.lang.String name)

      Gets the field dictionary.
      Parameters:
        `name` - the fully qualified field name
      Returns:
        the field dictionary

    - #### getFieldValue

          public java.lang.String getFieldValue(java.lang.String name)

      Gets the field value or `null` if the field does not exist or has no value defined.
      Parameters:
        `name` - the fully qualified field name
      Returns:
        the field value or `null`

    - #### getFileSpec

          public java.lang.String getFileSpec()

      Gets the PDF file specification contained in the FDF.
      Returns:
        the PDF file specification contained in the FDF