Class PDAcroForm

java.lang.Object
org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm
All Implemented Interfaces:
COSObjectable

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

    • 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 Details

    • 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 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:
      IOException - If there is an error doing the import.
    • exportFDF

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

      public List getFields() throws 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:
      IOException
    • setFields

      public void setFields(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 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:
      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(String name) throws 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:
      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.