setasign\SetaPDF2\Extractor\Sorter
FlexLineSorter A sorter class that sorts lines by comparing text items on their baseline and a threshold factor.
File: /SetaPDF v2/Extractor/Sorter/FlexLineSorter.php
Old class name (alias):
\SetaPDF_Extractor_Sorter_FlexLine
This sorter is not able to detect if an item lies on top of another one!
Class hierarchy
Summary
Properties
$_matrix
A temporary matrix used in the sort process.
Methods
_getItemsByOrientation()
Groups items by their orientation.
Parameters
- $textItems : \SetaPDF_Extractor_TextItem[]
Return Values
An array grouped by the orientation holding both their items (grouped by their ordinate) and the associated orientation matrix.
_sortLinesVerticallyThenHorizontally()
Sort lines vertically then horizontally.
Parameters
- $lines : array<string, array{items: array<string, \SetaPDF_Extractor_TextItem[]>, matrix: \SetaPDF_Core_Geometry_Matrix}>
groupByLines()
Groups all text items by lines.
Parameters
- $textItems : \SetaPDF_Extractor_TextItem[]
The text items
Exceptions
horizontallyThenVertically()
A sort callback that sort first horizontally then vertically.
Parameters
Exceptions
Throws \setasign\SetaPDF2\Core\Exception
See
isOnSameLine()
\SetaPDF_Extractor_TextItem $b,
?\SetaPDF_Core_Geometry_Matrix $matrix = null
Checks whether two items are on the same line or not.
Parameters
- $a : \SetaPDF_Extractor_TextItem
- $b : \SetaPDF_Extractor_TextItem
- $matrix : ?\SetaPDF_Core_Geometry_Matrix
Exceptions
itemsJoining()
Checks if two items joining each other.
Parameters
- $a : \SetaPDF_Extractor_TextItem
Item A.
- $b : \SetaPDF_Extractor_TextItem
Item B.
- $spaceWidthFactor : float
The space width factor.
Exceptions
verticallyThenHorizontally()
A sort callback that sort first vertically then horizontally.
Parameters
Exceptions
Throws \setasign\SetaPDF2\Core\Exception