SetaPDF_Extractor_Strategy_ExactPlain Extraction strategy for plain text by using single glyphs for rebuilding the text.

File: /SetaPDF v2/Extractor/Strategy/ExactPlain.php

Class hierarchy

Summary

Properties

$_cleanStreamCallback

protected callable SetaPDF_Extractor_Strategy_ExactPlain::$_cleanStreamCallback

A callback that is called before processing a stream.

$_contentParser

protected SetaPDF_Core_Parser_Content SetaPDF_Extractor_Strategy_ExactPlain::$_contentParser

$_filter

protected null|SetaPDF_Extractor_Filter_FilterInterface SetaPDF_Extractor_Strategy_ExactPlain::$_filter

A filter.

$_graphicState

protected SetaPDF_Core_Canvas_GraphicState SetaPDF_Extractor_Strategy_ExactPlain::$_graphicState

The graphic state instance.

$_ignoreSpaceCharacter

protected SetaPDF_Extractor_Strategy_ExactPlain::$_ignoreSpaceCharacter = false

$_items

protected SetaPDF_Extractor_TextItem[] SetaPDF_Extractor_Strategy_ExactPlain::$_items = array()

The text items.

$_lastMatrix

protected SetaPDF_Core_Geometry_Matrix[] SetaPDF_Extractor_Strategy_ExactPlain::$_lastMatrix = array(...)

Used matrixes.

$_resources

protected SetaPDF_Core_Type_Dictionary SetaPDF_Extractor_Strategy_ExactPlain::$_resources

The stream resources dictionary.

$_sorter

protected SetaPDF_Extractor_Sorter SetaPDF_Extractor_Strategy_ExactPlain::$_sorter

The sorter instance.

$_textCount

protected int SetaPDF_Extractor_Strategy_ExactPlain::$_textCount = 0

A text item counter.

$spaceWidthFactor

public float SetaPDF_Extractor_Strategy_ExactPlain::$spaceWidthFactor = 2.0

A factor to calculate whether a distance can be seen as a character separator.

The fonts space character width is devided by this factor to define the minimum space for a character separator.


Methods

__construct()

_accept()

Proxy method that forwards the call to a filter instance if available.

This strategy filters space characters automatically if specified (see setIgnoreSpaceCharacter().

Parameters
$textItem : SetaPDF_Extractor_TextItem
 
See

_cleanResult()

Callback to clean up the resulting text.

Parameters
$result
 

_getParser()

Creates the content stream parser.

Parameters
$stream : string
 

_getSubInstance()

Get an instance of the same strategy for processing an other stream (e.g. a Form XObject stream).

Parameters
$gs : SetaPDF_Core_Canvas_GraphicState
 

_onAfterShowText()

public SetaPDF_Extractor_Strategy_Plain::_onAfterShowText (
string $rawString
): void

Callback that is called after a show text operation was invoked.

Parameters
$rawString : string
 

_onBeforeShowText()

Callback that is called before a show text operation is invoked.

_onBeginOrEndText()

public SetaPDF_Extractor_Strategy_Plain::_onBeginOrEndText (
array $arguments, string $operator
): void

Callback for begin or end text operators (BT/ET).

Parameters
$arguments : array
 
$operator : string
 

_onCurrentTransformationMatrix()

public SetaPDF_Extractor_Strategy_Plain::_onCurrentTransformationMatrix (
array $arguments, string $operator
): void

Callback for ctm changes (cm).

Parameters
$arguments : array
 
$operator : string
 

_onFormXObject()

public SetaPDF_Extractor_Strategy_Plain::_onFormXObject (
array $arguments, string $operator
): void

Callback for painting a specified XObject.

Parameters
$arguments : array
 
$operator : string
 
Exceptions

Throws SetaPDF_Exception_NotImplemented

_onGraphicStateChange()

public SetaPDF_Extractor_Strategy_Plain::_onGraphicStateChange (
array $arguments, string $operator
): void

Callback for graphic state changes operators (q/Q).

Parameters
$arguments : array
 
$operator : string
 

_onInlineImage()

public SetaPDF_Extractor_Strategy_Plain::_onInlineImage (
array $arguments, string $operator
): void

Callback for inline image operator

Parameters
$arguments : array
 
$operator : string
 

_onTextPosition()

public SetaPDF_Extractor_Strategy_Plain::_onTextPosition (
array $arguments, string $operator
): void

Callback for text position operators.

Parameters
$arguments : array
 
$operator : string
 

_onTextShow()

public SetaPDF_Extractor_Strategy_Glyph::_onTextShow (
string $arguments, mixed $operator
): void

Callback that is called if a text should be shown.

Parameters
$arguments : string
 
$operator : mixed
 

_onTextState()

public SetaPDF_Extractor_Strategy_Plain::_onTextState (
array $arguments, string $operator
): void

Callback for text state operators.

All states has to be passed to the current graphic state as defined in PDF 32000-1:2008, Table 52 on page 121.

Parameters
$arguments : array
 
$operator : string
 
Exceptions

Throws SetaPDF_Extractor_Exception

_saveLastMatrix()

protected SetaPDF_Extractor_Strategy_Plain::_saveLastMatrix (
string $type
): void

Saves the last matrix by a specific type.

Parameters
$type : string
 

_showText()

protected SetaPDF_Extractor_Strategy_Glyph::_showText (
$string
): void

Method that shows text.

Parameters
$string
 

_showTextStrings()

public SetaPDF_Extractor_Strategy_Glyph::_showTextStrings (
array $textStrings
): void

Callback that is called if text strings should be shown.

Parameters
$textStrings : array
 

getCleanStreamCallback()

Get the callback that is called before a stream is processed.

getGraphicState()

getIgnoreSpaceCharacter()

Gets whether a space character should be fetched or not.

getResult()

Get the plain text from a stream.

Parameters
$stream : string
 
$resources : SetaPDF_Core_Type_Dictionary
 

getSorter()

Get the sorter instance.

If none was set a base line sorter is created automatically.

process()

Processes a stream through the plain text strategy.

Parameters
$stream : string
 
$resources : SetaPDF_Core_Type_Dictionary
 

setCleanStreamCallback()

public SetaPDF_Extractor_Strategy_AbstractStrategy::setCleanStreamCallback (
[ callable|null $callback = null ]
): void

Set a callback that is called before processing a stream.

Parameters
$callback : callable|null
 

setFilter()

setGraphicState()

Set the graphic state.

Parameters
$graphicState : SetaPDF_Core_Canvas_GraphicState
 

setIgnoreSpaceCharacter()

public SetaPDF_Extractor_Strategy_ExactPlain::setIgnoreSpaceCharacter (
boolean $ignoreSpaceCharacter
): void

Defines whether a space character should be fetched or not.

If this is set to true (default), the strategy will use the found space character as a delemitter. If this is set to false, the strategy will calculate a delemitter by the distance of 2 charachters/glyphs.

Parameters
$ignoreSpaceCharacter : boolean
 

setSorter()

Set a sorter instance.

Parameters
$sorter : SetaPDF_Extractor_Sorter