com.lowagie.text.pdf
Class PRAcroForm

java.lang.Object
  extended by com.lowagie.text.pdf.PdfObject
      extended by com.lowagie.text.pdf.PdfDictionary
          extended by com.lowagie.text.pdf.PRAcroForm

public class PRAcroForm
extends PdfDictionary

This class captures an AcroForm on input. Basically, it extends Dictionary by indexing the fields of an AcroForm

Author:
Mark Thompson

Nested Class Summary
static class PRAcroForm.FieldInformation
          This class holds the information for a single field
 
Field Summary
 
Fields inherited from class com.lowagie.text.pdf.PdfDictionary
CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES
 
Fields inherited from class com.lowagie.text.pdf.PdfObject
ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type
 
Constructor Summary
PRAcroForm(PdfReader reader)
          Constructor
 
Method Summary
 PRAcroForm.FieldInformation getField(java.lang.String name)
           
 java.util.ArrayList getFields()
           
 PRIndirectReference getRefByName(java.lang.String name)
          Given the title (/T) of a reference, return the associated reference
protected  void iterateFields(PdfArray fieldlist, PRIndirectReference fieldDict, java.lang.String title)
          After reading, we index all of the fields.
protected  PdfDictionary mergeAttrib(PdfDictionary parent, PdfDictionary child)
          merge field attributes from two dictionaries
protected  void pushAttrib(PdfDictionary dict)
          stack a level of dictionary.
 void readAcroForm(PdfDictionary root)
          Read, and comprehend the acroform
 int size()
          Number of fields found
 
Methods inherited from class com.lowagie.text.pdf.PdfDictionary
contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, toPdf, toString
 
Methods inherited from class com.lowagie.text.pdf.PdfObject
canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PRAcroForm

public PRAcroForm(PdfReader reader)
Constructor

Parameters:
reader - reader of the input file
Method Detail

size

public int size()
Number of fields found

Overrides:
size in class PdfDictionary
Returns:
size

getFields

public java.util.ArrayList getFields()

getField

public PRAcroForm.FieldInformation getField(java.lang.String name)

getRefByName

public PRIndirectReference getRefByName(java.lang.String name)
Given the title (/T) of a reference, return the associated reference

Parameters:
name - a string containing the path
Returns:
a reference to the field, or null

readAcroForm

public void readAcroForm(PdfDictionary root)
Read, and comprehend the acroform

Parameters:
root - the document root

iterateFields

protected void iterateFields(PdfArray fieldlist,
                             PRIndirectReference fieldDict,
                             java.lang.String title)
After reading, we index all of the fields. Recursive.

Parameters:
fieldlist - An array of fields
fieldDict - the last field dictionary we encountered (recursively)
title - the pathname of the field, up to this point or null

mergeAttrib

protected PdfDictionary mergeAttrib(PdfDictionary parent,
                                    PdfDictionary child)
merge field attributes from two dictionaries

Parameters:
parent - one dictionary
child - the other dictionary
Returns:
a merged dictionary

pushAttrib

protected void pushAttrib(PdfDictionary dict)
stack a level of dictionary. Merge in a dictionary from this level



iText 2.1.7