Class PDAcroForm

  • All Implemented Interfaces:
    COSObjectable

    public class PDAcroForm
    extends java.lang.Object
    implements COSObjectable
    This class represents the acroform of a PDF document.
    Version:
    $Revision: 1.14 $
    Author:
    Ben Litchfield
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      FDFDocument exportFDF()
      This will export all FDF form data.
      COSBase getCOSObject()
      Convert this standard java object to a COS object.
      PDResources getDefaultResources()
      This will get the default resources for the acro form.
      COSDictionary getDictionary()
      This will get the dictionary that this form wraps.
      PDDocument getDocument()
      This will get the document associated with this form.
      PDField getField​(java.lang.String name)
      This will get a field by name, possibly using the cache if setCache is true.
      java.util.List getFields()
      This will return all of the documents root fields.
      PDXFA getXFA()
      Get the XFA resource, the XFA resource is only used for PDF 1.5+ forms.
      void importFDF​(FDFDocument fdf)
      This method will import an entire FDF document into the PDF document that this acroform is part of.
      boolean isCachingFields()
      This will tell if this acro form is caching the fields.
      void setCacheFields​(boolean cache)
      This will tell this form to cache the fields into a Map structure for fast access via the getField method.
      void setDefaultResources​(PDResources dr)
      This will set the default resources for the acroform.
      void setFields​(java.util.List fields)
      Set the documents root fields.
      void setXFA​(PDXFA xfa)
      Set the XFA resource, this is only used for PDF 1.5+ forms.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PDAcroForm

        public PDAcroForm​(PDDocument doc)
        Constructor.
        Parameters:
        doc - The document that this form is part of.
      • PDAcroForm

        public PDAcroForm​(PDDocument doc,
                          COSDictionary form)
        Constructor.
        Parameters:
        doc - The document that this form is part of.
        form - The existing acroForm.
    • Method Detail

      • getDocument

        public PDDocument getDocument()
        This will get the document associated with this form.
        Returns:
        The PDF document.
      • getDictionary

        public COSDictionary getDictionary()
        This will get the dictionary that this form wraps.
        Returns:
        The dictionary for this form.
      • importFDF

        public void importFDF​(FDFDocument fdf)
                       throws java.io.IOException
        This method will import an entire FDF document into the PDF document that this acroform is part of.
        Parameters:
        fdf - The FDF document to import.
        Throws:
        java.io.IOException - If there is an error doing the import.
      • exportFDF

        public FDFDocument exportFDF()
                              throws java.io.IOException
        This will export all FDF form data.
        Returns:
        An FDF document used to export the document.
        Throws:
        java.io.IOException - If there is an error when exporting the document.
      • getFields

        public java.util.List getFields()
                                 throws java.io.IOException
        This will return all of the documents root fields. A field might have children that are fields (non-terminal field) or does not have children which are fields (terminal fields). The fields within an AcroForm are organized in a tree structure. The documents root fields might either be terminal fields, non-terminal fields or a mixture of both. Non-terminal fields mark branches which contents can be retrieved using PDFieldTreeNode#getKids().
        Returns:
        A list of the documents root fields.
        Throws:
        java.io.IOException
      • setFields

        public void setFields​(java.util.List fields)
        Set the documents root fields.
        Parameters:
        fields - The fields that are part of the documents root fields.
      • setCacheFields

        public void setCacheFields​(boolean cache)
                            throws java.io.IOException
        This will tell this form to cache the fields into a Map structure for fast access via the getField method. The default is false. You would want this to be false if you were changing the COSDictionary behind the scenes, otherwise setting this to true is acceptable.
        Parameters:
        cache - A boolean telling if we should cache the fields.
        Throws:
        java.io.IOException - If there is an error while caching the fields.
      • isCachingFields

        public boolean isCachingFields()
        This will tell if this acro form is caching the fields.
        Returns:
        true if the fields are being cached.
      • getField

        public PDField getField​(java.lang.String name)
                         throws java.io.IOException
        This will get a field by name, possibly using the cache if setCache is true.
        Parameters:
        name - The name of the field to get.
        Returns:
        The field with that name of null if one was not found.
        Throws:
        java.io.IOException - If there is an error getting the field type.
      • getDefaultResources

        public PDResources getDefaultResources()
        This will get the default resources for the acro form.
        Returns:
        The default resources.
      • setDefaultResources

        public void setDefaultResources​(PDResources dr)
        This will set the default resources for the acroform.
        Parameters:
        dr - The new default resources.
      • getCOSObject

        public COSBase getCOSObject()
        Convert this standard java object to a COS object.
        Specified by:
        getCOSObject in interface COSObjectable
        Returns:
        The cos object that matches this Java object.
      • getXFA

        public PDXFA getXFA()
        Get the XFA resource, the XFA resource is only used for PDF 1.5+ forms.
        Returns:
        The xfa resource or null if it does not exist.
      • setXFA

        public void setXFA​(PDXFA xfa)
        Set the XFA resource, this is only used for PDF 1.5+ forms.
        Parameters:
        xfa - The xfa resource.