SetaPDF_FormFiller_Fields Class allowing transparent access to form fields of a PDF document

File: /SetaPDF/FormFiller/Fields.php

Class hierarchy

Implements

Summary

Properties

$_fieldObjects

protected array SetaPDF_FormFiller_Fields::$_fieldObjects = array()

The pdf object of each form field / collection (at PDF level)

$_fields

protected array SetaPDF_FormFiller_Fields::$_fields = array()

The field instances

$_fieldsRead

protected boolean SetaPDF_FormFiller_Fields::$_fieldsRead = false

Flag defines that the fields are read from the document

$_formFiller

The form filler instance

$_forwardValue

protected boolean SetaPDF_FormFiller_Fields::$_forwardValue = false

Flag defines that the forwarding of setValue calls is active

$_handleAllFieldsActive

Defines whether a delete or flatten action is done for all available fields.

$_relatedFields

protected array SetaPDF_FormFiller_Fields::$_relatedFields = array()

An array of names of related fields


Methods

__construct()

The constructor.

Parameters
$formFiller : SetaPDF_FormFiller

The form filler instance

_readFormFields()

Reads the form field objects and prepares them for later usage.

beforeFieldFlattenOrDelete()

This method is called before a field is deleted.

Parameters
$field : SetaPDF_FormFiller_Field_FieldInterface
 

cleanUp()

public void SetaPDF_FormFiller_Fields::cleanUp ( void )

Releases memory and resources.

count()

public void SetaPDF_FormFiller_Fields::count ( void )

Implementation of Countable.

current()

public void SetaPDF_FormFiller_Fields::current ( void )

Implementation of the Iterator interface.

delete()

public void SetaPDF_FormFiller_Fields::delete ( [ null|string|SetaPDF_FormFiller_Field_FieldInterface $field = null ] )

Delete a field.

Parameters
$field : null|string|SetaPDF_FormFiller_Field_FieldInterface

The name or an instance of the field, or null to delete all fields

ensureIndividualAppearanceStreams()

Ensure that each field have it's own appearance stream.

Some PDFs share the appearance stream in different fields (e.g. for empty fields). This would make it impossible to fill these fields individually. This method checks for such fields and "repairs" them by creating a new empty appearance stream.

flatten()

public void SetaPDF_FormFiller_Fields::flatten ( [ null|string|SetaPDF_FormFiller_Field_FieldInterface $field = null ] )

Flatten a field to the pages content stream.

Parameters
$field : null|string|SetaPDF_FormFiller_Field_FieldInterface

The name or an instance of the field, or null to flatten all fields

forwardValueToRelated()

public void SetaPDF_FormFiller_Fields::forwardValueToRelated ( mixed $value, SetaPDF_FormFiller_Field_FieldInterface $field [, string $encoding = 'UTF-8' [, string $method = 'setValue' ]] )

This method forwards a setValue call to related/same named form fields.

Parameters
$value : mixed

The value

$field : SetaPDF_FormFiller_Field_FieldInterface

The initial form field, which was changed

$encoding : string

The encoding of the value

$method : string

The method that forwards the value

get()

public SetaPDF_FormFiller_Field_FieldInterface SetaPDF_FormFiller_Fields::get ( string $name [, boolean $cache = true ] )

Gets a single field by field name.

Parameters
$name : string

The name of the field

$cache : boolean

Cache the field instance in the fields object.

Exceptions

Throws SetaPDF_FormFiller_Exception

getAll()

public array SetaPDF_FormFiller_Fields::getAll ( [ boolean $cache = true ] )

Get all available field objects.

Parameters
$cache : boolean

Cache the field instance in the fields object.

getFormFiller()

Get the form filler instance.

getNames()

public array SetaPDF_FormFiller_Fields::getNames ( void )

Get all available field names.

getRelatedFieldNames()

public string[] SetaPDF_FormFiller_Fields::getRelatedFieldNames ( string|SetaPDF_FormFiller_Field_FieldInterface $field [, boolean $leftOriginFieldName = true ] )

Get all names of related form fields.

Parameters
$field : string|SetaPDF_FormFiller_Field_FieldInterface

The name or an instance to get related form fields

$leftOriginFieldName : boolean

Left the origin passed field in the resulting array or not

getRelatedFields()

Get all same named/related form fields.

Parameters
$field : SetaPDF_FormFiller_Field_FieldInterface|string

The initial field

$leftOriginField : boolean

Left the origin passed field in the resulting array or not

isForwardValueActive()

Returns whether the "forwarding"-flag is set active.

key()

public void SetaPDF_FormFiller_Fields::key ( void )

Implementation of the Iterator interface.

next()

public void SetaPDF_FormFiller_Fields::next ( void )

Implementation of the Iterator interface.

offsetExists()

public boolean SetaPDF_FormFiller_Fields::offsetExists ( string $offset )

Implementation of the ArrayAccess interface.

Parameters
$offset : string

An offset to check for

offsetGet()

Implementation of the ArrayAccess interface.

Parameters
$offset : string

The offset to retrieve

offsetSet()

public void SetaPDF_FormFiller_Fields::offsetSet ( string $offset, mixed $value )

Implementation of the ArrayAccess interface.

Parameters
$offset : string

The offset to assign the value to

$value : mixed

The value to set

Exceptions

Throws BadMethodCallException

offsetUnset()

public void SetaPDF_FormFiller_Fields::offsetUnset ( string $offset )

Implementation of the ArrayAccess interface.

Parameters
$offset : string

The offset to unset

onFieldDeleted()

This method is called when a field is deleted.

Parameters
$field : SetaPDF_FormFiller_Field_FieldInterface

The field instance that is deleted

release()

public bool SetaPDF_FormFiller_Fields::release ( string $name )

Releases the cached instance of the field.

Parameters
$name : string

The field name.

Return Values

Wether the cached instance was removed or not.

rewind()

public void SetaPDF_FormFiller_Fields::rewind ( void )

Implementation of the Iterator interface.

valid()

public void SetaPDF_FormFiller_Fields::valid ( void )

Implementation of the Iterator interface.