SetaPDF_FormFiller_Field_Text A text field

File: /SetaPDF v2/FormFiller/Field/Text.php

Class hierarchy

Implements

Summary

Constants

OVERFLOWS_HORIZONTALLY

const integer SetaPDF_FormFiller_Field_Text::OVERFLOWS_HORIZONTALLY = 2

Constant saying that text overflows horizontally

OVERFLOWS_NONE

const integer SetaPDF_FormFiller_Field_Text::OVERFLOWS_NONE = 0

Constant saying that no text overflows the visible area

OVERFLOWS_VERTICALLY

const integer SetaPDF_FormFiller_Field_Text::OVERFLOWS_VERTICALLY = 1

Constant saying that text overflows vertically


Properties

$_additionalActions

protected SetaPDF_FormFiller_Field_AdditionalActions SetaPDF_FormFiller_Field_Text::$_additionalActions

$_annotation

protected SetaPDF_Core_Document_Page_Annotation_Widget SetaPDF_FormFiller_Field_Text::$_annotation

The annotation object of this form field

$_appearanceCanvas

protected SetaPDF_Core_Canvas SetaPDF_FormFiller_Field_Text::$_appearanceCanvas

The canvas object of the appearance

$_defaultAppearanceData

protected SetaPDF_FormFiller_Field_DefaultAppearanceData SetaPDF_FormFiller_Field_Text::$_defaultAppearanceData

$_fieldDictionary

protected SetaPDF_Core_Type_Dictionary SetaPDF_FormFiller_Field_Text::$_fieldDictionary

The main field dictionary

$_fieldObject

protected SetaPDF_Core_Type_IndirectObject SetaPDF_FormFiller_Field_Text::$_fieldObject

The fields indirect object

$_fields

protected SetaPDF_FormFiller_Fields SetaPDF_FormFiller_Field_Text::$_fields

A reference to the fields instance

$_font

protected SetaPDF_Core_Font SetaPDF_FormFiller_Field_Text::$_font

The font object, which should be used to create the appearance

$_fontSize

protected float|null SetaPDF_FormFiller_Field_Text::$_fontSize

The font size, which should be used to create the appearance

$_lineHeightFactor

protected float SetaPDF_FormFiller_Field_Text::$_lineHeightFactor

The factor to calculate the line height based on the font size

$_observeTextOverflow

protected boolean SetaPDF_FormFiller_Field_Text::$_observeTextOverflow = false

Defines whether observing text overflow is enabled or not

$_originalQualifiedName

protected string SetaPDF_FormFiller_Field_Text::$_originalQualifiedName

The name without the suffix

$_page

protected SetaPDF_Core_Document_Page SetaPDF_FormFiller_Field_Text::$_page

The page instance on which the form field is placed

$_qualifiedName

protected string SetaPDF_FormFiller_Field_Text::$_qualifiedName

The name including a suffix if needed ("Text#1")

$_textColor

protected SetaPDF_Core_DataStructure_Color SetaPDF_FormFiller_Field_Text::$_textColor

An individual color object which should be used for drawing the text appearance

$_textOverflow

protected integer|null SetaPDF_FormFiller_Field_Text::$_textOverflow

Flag indicating that the text overflows the visible area of the field.

$_textTranslateData

protected array SetaPDF_FormFiller_Field_Text::$_textTranslateData = array(...)

Data to be used for translation of the initial x/y coordinates of the field appearance.


Methods

__construct()

public SetaPDF_FormFiller_Field_AbstractField::__construct (
SetaPDF_FormFiller_Fields $fields, string $qualifiedName, SetaPDF_Core_Type_IndirectReference|SetaPDF_Core_Type_IndirectObject $fieldObject [, string $originalQualifiedName = null ]
)

The constructor.

Parameters
$fields : SetaPDF_FormFiller_Fields

The fields instance

$qualifiedName : string

The qualified name of the field

$fieldObject : SetaPDF_Core_Type_IndirectReference|SetaPDF_Core_Type_IndirectObject

The indirect object or reference holding the field dictionary

$originalQualifiedName : string

The original qualified name of the field

_checkPermission()

Checks for form-filling permissions.

Parameters
$permission : integer
 
Exceptions

Throws SetaPDF_Core_SecHandler_Exception

_getAppearanceReference()

Get the reference to the normal appearance stream object.

_getFontRelation()

Get the font relation and copy the resources to the Resources entry if needed.

Parameters
$nDictionary : SetaPDF_Core_Type_Dictionary
 
$fontName : string
 
Exceptions

Throws SetaPDF_FormFiller_Exception

_postDelete()

A method called after deleting a field.

This method forwards the deletion info to the fields instance.

_preDelete()

A method called before deleting a field.

This method forwards the deletion info to the fields instance.

_preFlatten()

A method called before flattening a field.

This method forwards the flatten info to the fields instance.

_purgeValue()

protected SetaPDF_FormFiller_Field_Text::_purgeValue (
string $value
): string

Purges the value accoring to field properties like "multiline" or "max-length".

Parameters
$value : string

Value in UTF-16BE encoding

_recreateAppearance()

Recreate or creates the background appearance of the form field.

cleanUp()

public SetaPDF_FormFiller_Field_Text::cleanUp (
void
): void

Release cycled references and release memory.

delete()

Delete the field.

Exceptions

Throws SetaPDF_FormFiller_Field_Exception

flatten()

Flatten the field to the pages content stream.

See

getAdditionalActions()

Gets the additional actions object instance for this field.

getAnnotation()

Get the widget annotation object from this field.

getAppearanceCanvas()

Get the appearance canvas of the "normal" appearance object.

getAppearanceFont()

Get the appearance font object.

getAppearanceFontSize()

Get the appearance font size.

Exceptions

Throws SetaPDF_FormFiller_Field_Exception

getAppearanceTextColor()

Get the individual appearance text color.

getDefaultAppearanceData()

getDefaultValue()

public SetaPDF_FormFiller_Field_Text::getDefaultValue (
[ string $encoding = 'UTF-8' ]
): null|string

Returns the default value of the field.

This value is used if the form is reset.

Parameters
$encoding : string
 
See

getFieldFlags()

Returns the current field flags.

getFieldObject()

Get the indirect object of the form field.

getFields()

getLineHeightFactor()

Get the line height factor

The line height is calculated by this factor in relation to the font size:

$lineHeight = $fontSize * $lineHeightFactor

By default this value is calculated by the font bounding box values "ury - lly / 1000".

See

getMaxLength()

public SetaPDF_FormFiller_Field_Text::getMaxLength (
void
): boolean|integer

Get the max length property if available.

getNoExport()

Checks if the no-export flag is set.

getNormalAppearanceObject()

Get or create the normal appearance object (the object referenced in the N entry).

Parameters
$createNew : boolean

Pass true to force a recreation

getObserveTextOverflow()

Get whether observing text overflow is enabled or not.

getOriginalQualifiedName()

Get the original qualified name (without suffix).

getPage()

Gets the page object on which the form field is placed.

Exceptions

Throws SetaPDF_FormFiller_Field_Exception

getPageNumber()

Get the page number on which the field appears.

getQualifiedName()

Returns the qualified name.

getTextOverflow()

public SetaPDF_FormFiller_Field_Text::getTextOverflow (
void
): null|integer

Check if the visible text overflows the visible area.

Return Values

If the annotation was not rendered null is returned. Otherwise 1 if the text overflows vertically or 2 if the text overflows horizontally. 3 for both.

getTooltip()

public SetaPDF_FormFiller_Field_AbstractField::getTooltip (
[ string $encoding = 'UTF-8' ]
): bool|string

Get the tooltip value.

Parameters
$encoding : string
 

getValue()

public SetaPDF_FormFiller_Field_Text::getValue (
[ string $encoding = 'UTF-8' ]
): string

Get the field value.

Parameters
$encoding : string

The output encoding

See

isCombField()

public SetaPDF_FormFiller_Field_Text::isCombField (
void
): boolean

Check if the comb field flag is set.

isDoNotScrollSet()

Check if the "do not scroll" flag is set.

isDoNotSpellCheckSet()

Check if the "do not spell check" flag is set.

isFieldFlagSet()

public SetaPDF_FormFiller_Field_AbstractField::isFieldFlagSet (
integer $flag
): boolean

Checks if a specific field flag is set.

Parameters
$flag : integer
 

isMultiline()

public SetaPDF_FormFiller_Field_Text::isMultiline (
void
): boolean

Check if the multiline flag is set.

isPasswordField()

Check if the password field flag is set.

isReadOnly()

Checks if the field is set to read-only.

isRequired()

Checks if the field is set to be required.

recreateAppearance()

Recreate or creates the Appearance of the form field.

setAppearanceFont()

public SetaPDF_FormFiller_Field_AbstractField::setAppearanceFont (
SetaPDF_Core_Font $font [, float $size = null ]
): void

Set the appearance font object.

Parameters
$font : SetaPDF_Core_Font
 
$size : float
 

setAppearanceFontSize()

public SetaPDF_FormFiller_Field_AbstractField::setAppearanceFontSize (
float|null $fontSize
): void

Set an individual font size.

Parameters
$fontSize : float|null
 

setAppearanceTextColor()

Set an individual appearance text color.

Parameters
$textColor : SetaPDF_Core_DataStructure_Color
 

setCombField()

public SetaPDF_FormFiller_Field_Text::setCombField (
[ boolean $comb = true ]
): void

Set the comb field flag.

Changing this flag will re-create the field appearance.

Parameters
$comb : boolean
 
Exceptions

Throws SetaPDF_FormFiller_Field_Exception

setDefaultValue()

public SetaPDF_FormFiller_Field_Text::setDefaultValue (
null|string $value [, string $encoding = 'UTF-8' ]
): void

Set the default value of the field.

Parameters
$value : null|string
 
$encoding : string
 

setDoNotScroll()

public SetaPDF_FormFiller_Field_Text::setDoNotScroll (
[ boolean $doNotScroll = true ]
): void

Set the "do not scroll" flag.

Parameters
$doNotScroll : boolean
 

setDoNotSpellCheck()

public SetaPDF_FormFiller_Field_Text::setDoNotSpellCheck (
[ boolean $doNotSpellCheck = true ]
): void

Set the "do not spell check" flag.

Parameters
$doNotSpellCheck : boolean
 
Exceptions

Throws SetaPDF_FormFiller_Field_Exception

setFieldFlags()

public SetaPDF_FormFiller_Field_AbstractField::setFieldFlags (
integer $flags [, boolean|null $add = true ]
): void

Sets a field flag.

Parameters
$flags : integer
 
$add : boolean|null

Add = true, remove = false, set = null

setLineHeightFactor()

public SetaPDF_FormFiller_Field_AbstractField::setLineHeightFactor (
null|float $lineHeightFactor
): void

Set the line height factor

The line height is calculated by this factor in relation to the font size:

$lineHeight = $fontSize * $lineHeightFactor

By default this value is calculated by the font bounding box values "ury - lly / 1000".

Parameters
$lineHeightFactor : null|float
 
See

setMaxLength()

public SetaPDF_FormFiller_Field_Text::setMaxLength (
integer $maxLength
): void

Set the max length property.

Changing this flag will reset the value to a value that fits into the given maximal length.

Parameters
$maxLength : integer
 

setMultiline()

public SetaPDF_FormFiller_Field_Text::setMultiline (
[ bool|true $multiline = true ]
): void

Set the multiline flag.

Changing this flag will re-create the field appearance.

Parameters
$multiline : bool|true
 
Exceptions

Throws SetaPDF_FormFiller_Field_Exception

setNoExport()

public SetaPDF_FormFiller_Field_AbstractField::setNoExport (
[ boolean $noExport = true ]
): void

Set the no-export flag.

Parameters
$noExport : boolean
 

setObserveTextOverflow()

public SetaPDF_FormFiller_Field_Text::setObserveTextOverflow (
boolean $observeTextOverflow
): void

Set whether observing text overflow is enabled or not.

Parameters
$observeTextOverflow : boolean
 

setPasswordField()

public SetaPDF_FormFiller_Field_Text::setPasswordField (
[ boolean $password = true ]
): void

Set the password field flag.

Changing this flag will re-create the field appearance.

Parameters
$password : boolean
 
Exceptions

Throws SetaPDF_FormFiller_Field_Exception

setReadOnly()

public SetaPDF_FormFiller_Field_AbstractField::setReadOnly (
[ boolean $readOnly = true ]
): void

Sets the read-only flag.

Parameters
$readOnly : boolean
 

setRequired()

public SetaPDF_FormFiller_Field_AbstractField::setRequired (
[ boolean $required = true ]
): void

Sets the required flag.

Parameters
$required : boolean
 

setTextTranslate()

public SetaPDF_FormFiller_Field_Text::setTextTranslate (
[ integer $x = 0 [, integer $y = 0 ]]
): void

Set translate data for the text appearance.

Parameters
$x : integer

The value by which the text should be translated on the abscissa.

$y : integer

The value by which the text should be translated on the ordinate.

setTooltip()

public SetaPDF_FormFiller_Field_AbstractField::setTooltip (
string|false $value [, string $encoding = 'UTF-8' ]
): void

Set the tooltip value.

Parameters
$value : string|false
 
$encoding : string
 

setValue()

public SetaPDF_FormFiller_Field_Text::setValue (
string $value [, string $encoding = 'UTF-8' ]
): void

Set the field value.

If the fields multiline flag is set (see isMultiline()) the method accepts a string of several lines.

All common line delemitters are possible: \r\n, \n or \r

Internally they get normalized. So if you need to compare a value of the getValue() method keep this in mind.

Parameters
$value : string

The text field value

$encoding : string

The input encoding

unsetFieldFlags()

Removes a field flag.

Parameters
$flags : integer