Foxit PDF SDK

Public Types | Public Member Functions | Static Public Member Functions | List of all members
foxit::addon::layoutrecognition::LRStructureElement Class Reference
Inheritance diagram for foxit::addon::layoutrecognition::LRStructureElement:

## Public Types
enum | AttributeType { e_AttributeTypeInvalid = 0x0, e_AttributeTypeRole = 0x524f4c45, e_AttributeTypePlacement = 0x504c4143, e_AttributeTypeRotation = 0x524f5441, e_AttributeTypeWritingMode = 0x574d4f44, e_AttributeTypeDestination = 0x44455354, e_AttributeTypeBBox = 0x42424f58, e_AttributeTypeWidth = 0x57445448, e_AttributeTypeHeight = 0x48474854, e_AttributeTypeBackgroundColor = 0x424b4743, e_AttributeTypeBorderColor = 0x42445243, e_AttributeTypeBorderStyle = 0x42445253, e_AttributeTypeBorderThickness = 0x42445254, e_AttributeTypeAttached = 0x41545448, e_AttributeTypeSubType = 0x53554254, e_AttributeTypePadding = 0x50414447, e_AttributeTypeColor = 0x434f4c52, e_AttributeTypeSpaceBefore = 0x53504246, e_AttributeTypeSpaceAfter = 0x53504146, e_AttributeTypeStartIndent = 0x53494e44, e_AttributeTypeEndIndent = 0x45494e44, e_AttributeTypeTextIndent = 0x54494e44, e_AttributeTypeTextAlign = 0x54414c4e, e_AttributeTypeBlockAlign = 0x42414c4e, e_AttributeTypeInlineAlign = 0x49414c4e, e_AttributeTypeTBorderStyle = 0x54424453, e_AttributeTypeTPadding = 0x54504144, e_AttributeTypeBaselineShift = 0x42534846, e_AttributeTypeLineHeight = 0x4c484754, e_AttributeTypeTextDecorationColor = 0x5444434c, e_AttributeTypeTextDecorationThickness = 0x54445448, e_AttributeTypeTextDecorationType = 0x54445459, e_AttributeTypeRubyAlign = 0x5242414c, e_AttributeTypeRubyPosition = 0x52425053, e_AttributeTypeGlyphOrientationVertical = 0x474f5654, e_AttributeTypeColumnCount = 0x434c434e, e_AttributeTypeColumnGap = 0x434c4750, e_AttributeTypeColumnWidths = 0x434c5744, e_AttributeTypeListNumbering = 0x4c4e554d, e_AttributeTypeFieldRole = 0x46524f4c, e_AttributeTypeFieldChecked = 0x43484b44, e_AttributeTypeFieldDesc = 0x46445343, e_AttributeTypeRowSpan = 0x5253504e, e_AttributeTypeColSpan = 0x4353504e, e_AttributeTypeTableHeaders = 0x54484453, e_AttributeTypeTableHeaderScope = 0x54485343, e_AttributeTypeTableSummary = 0x5442534d, e_AttributeTypeShort = 0x53484f52, e_AttributeTypeDirection = 0x44495245, e_AttributeTypeABox = 0x414c4258, e_AttributeTypeVersion = 0x5645534e }
| Enumeration for element general layout attribute types. More...
enum | AttributeValueEnum { e_AttributeValueEnumInvalid = 0x0, e_AttributeValueEnumBlock = 0x424c434b, e_AttributeValueEnumInline = 0x494e4c4e, e_AttributeValueEnumWarichu = 0x57415249, e_AttributeValueEnumBefore = 0x42454652, e_AttributeValueEnumAfter = 0x41465445, e_AttributeValueEnumStart = 0x53545254, e_AttributeValueEnumEnd = 0x454e4400, e_AttributeValueEnumLrTb = 0x4c525442, e_AttributeValueEnumRlTb = 0x524c5442, e_AttributeValueEnumTbRl = 0x5442524c, e_AttributeValueEnumTbLr = 0x54424c52, e_AttributeValueEnumNone = 0x4e4f4e45, e_AttributeValueEnumHidden = 0x4849444e, e_AttributeValueEnumDotted = 0x444f5444, e_AttributeValueEnumDashed = 0x44534844, e_AttributeValueEnumSolid = 0x534f4c44, e_AttributeValueEnumDouble = 0x44424c45, e_AttributeValueEnumGroove = 0x41525459, e_AttributeValueEnumRidge = 0x52444745, e_AttributeValueEnumInset = 0x494e5354, e_AttributeValueEnumOutset = 0x4f545354, e_AttributeValueEnumNormal = 0x4e524d4c, e_AttributeValueEnumAuto = 0x4155544f, e_AttributeValueEnumCenter = 0x434e5452, e_AttributeValueEnumJustify = 0x4a535459, e_AttributeValueEnumMiddle = 0x4d49444c, e_AttributeValueEnumUnderline = 0x55444c4e, e_AttributeValueEnumOverline = 0x4f564c4e, e_AttributeValueEnumLineThrough = 0x4c4e5448, e_AttributeValueEnumDistribute = 0x44535442, e_AttributeValueEnumDisc = 0x44495343, e_AttributeValueEnumCircle = 0x4352434c, e_AttributeValueEnumSquare = 0x53515552, e_AttributeValueEnumDecimal = 0x44434d4c, e_AttributeValueEnumUpperRoman = 0x5550524d, e_AttributeValueEnumLowerRoman = 0x4c57524d, e_AttributeValueEnumUpperAlpha = 0x5550414c, e_AttributeValueEnumLowerAlpha = 0x4c57414c, e_AttributeValueEnumUnordered = 0x554e4f52, e_AttributeValueEnumOrdered = 0x4f524445, e_AttributeValueEnumFloat = 0x464c4f54, e_AttributeValueEnumRB = 0x52420000, e_AttributeValueEnumCB = 0x43420000, e_AttributeValueEnumPB = 0x50440000, e_AttributeValueEnumTV = 0x54560000, e_AttributeValueEnumOn = 0x4f4e0000, e_AttributeValueEnumOff = 0x4f464600, e_AttributeValueEnumNeutral = 0x4e555452, e_AttributeValueEnumRow = 0x524f5700, e_AttributeValueEnumColumn = 0x434c4d4e, e_AttributeValueEnumBoth = 0x424f5448, e_AttributeValueEnumLeft = 0x4c454654, e_AttributeValueEnumTop = 0x544f5000, e_AttributeValueEnumBottom = 0x42544f4d, e_AttributeValueEnumRight = 0x52474854, e_AttributeValueEnumPagination = 0x5041474e, e_AttributeValueEnumLayout = 0x4c41594f, e_AttributeValueEnumPage = 0x50414745, e_AttributeValueEnumBackground = 0x424b474e, e_AttributeValueEnumHeader = 0x48454144, e_AttributeValueEnumFooter = 0x464f4f54, e_AttributeValueEnumWatermark = 0x57544d4b, e_AttributeValueEnumPageNum = 0x504e554d, e_AttributeValueEnumBates = 0x42415445, e_AttributeValueEnumOther = 0x4f544845 }
| Enumeration for element general layout attribute enum values. More...
enum | AttributeValueType { e_AttributeValueTypeEmpty = 0x0, e_AttributeValueTypeEnum = 0x1, e_AttributeValueTypeInt32 = 0x2, e_AttributeValueTypeFloat = 0x3, e_AttributeValueTypeARGB = 0x4, e_AttributeValueTypeWStr = 0x5, e_AttributeValueTypeElement = 0x6, e_AttributeValueTypeEnumArray = 0x101, e_AttributeValueTypeInt32Array = 0x102, e_AttributeValueTypeFloatArray = 0x103, e_AttributeValueTypeARGBArray = 0x104, e_AttributeValueTypeWStrArray = 0x105, e_AttributeValueTypeElementArray = 0x106 }
| Enumeration for value type of element general layout attribute. More...
Public Types inherited from foxit::addon::layoutrecognition::LRElement
enum | ElementType { e_ElementTypeDocument = 0x0000, e_ElementTypeDocumentFragment = 0x0001, e_ElementTypePart = 0x0002, e_ElementTypeArt = 0x0101, e_ElementTypeSect = 0x0102, e_ElementTypeDiv = 0x0100, e_ElementTypeBlockQuote = 0x0103, e_ElementTypeCaption = 0x0104, e_ElementTypeTOC = 0x0105, e_ElementTypeTOCI = 0x0106, e_ElementTypeIndex = 0x0107, e_ElementTypeAside = 0x0108, e_ElementTypeTitle = 0x0109, e_ElementTypeFENote = 0x010A, e_ElementTypeNonStruct = 0x010F, e_ElementTypePrivate = 0x0110, e_ElementTypeParagraph = 0x0200, e_ElementTypeHeading = 0x0201, e_ElementTypeHeading1 = 0x0202, e_ElementTypeHeading2 = 0x0203, e_ElementTypeHeading3 = 0x0204, e_ElementTypeHeading4 = 0x0205, e_ElementTypeHeading5 = 0x0206, e_ElementTypeHeading6 = 0x0207, e_ElementTypeHeadingN = 0x0208, e_ElementTypeList = 0x0209, e_ElementTypeListItem = 0x020A, e_ElementTypeListLabel = 0x020B, e_ElementTypeListBody = 0x020C, e_ElementTypeTable = 0x020D, e_ElementTypeTableRow = 0x020E, e_ElementTypeTableHeaderCell = 0x020F, e_ElementTypeTableDataCell = 0x0210, e_ElementTypeTableHeaderGroup = 0x0211, e_ElementTypeTableBodyGroup = 0x0212, e_ElementTypeTableFootGroup = 0x0213, e_ElementTypeSpan = 0x0300, e_ElementTypeQuote = 0x0301, e_ElementTypeNote = 0x0302, e_ElementTypeReference = 0x0303, e_ElementTypeBibEntry = 0x0304, e_ElementTypeCode = 0x0305, e_ElementTypeLink = 0x0306, e_ElementTypeAnnot = 0x0307, e_ElementTypeRuby = 0x0308, e_ElementTypeRubyBase = 0x0309, e_ElementTypeRubyAnnot = 0x030A, e_ElementTypeRubyPunc = 0x030B, e_ElementTypeWarichu = 0x030C, e_ElementTypeWarichuText = 0x030D, e_ElementTypeWarichuPunc = 0x030E, e_ElementTypeEm = 0x030F, e_ElementTypeStrong = 0x0310, e_ElementTypeSub = 0x0311, e_ElementTypeFigure = 0x0400, e_ElementTypeFormula = 0x0401, e_ElementTypeForm = 0x0402, e_ElementTypeArtifact = 0x1000, e_ElementTypeTextObject = 0x80000001, e_ElementTypePathObject = 0x80000002, e_ElementTypeImageObject = 0x80000003, e_ElementTypeShadingObject = 0x80000004, e_ElementTypeFormObject = 0x80000005, e_ElementTypeContainerObject = 0x8000000C, e_ElementTypeAnnotObject = 0x8000000E, e_ElementTypePageObject = 0x8000000F, e_ElementTypeTextContent = 0xC0000001, e_ElementTypePathContent = 0xC0000002, e_ElementTypeImageContent = 0xC0000003, e_ElementTypeShadingContent = 0xC0000004, e_ElementTypeComplexContent = 0xC000000D, e_ElementTypeAnnotContent = 0xC000000E }
| Enumeration for standard structure types. More...

## Public Member Functions
| LRStructureElement ()
| Constructor.
| LRStructureElement (const LRElement &element)
| Constructor, with parent class object. More...
| LRStructureElement (const LRStructureElement &other)
| Constructor, with another structure element object. More...
| ~LRStructureElement ()
| Destructor.
ARGB | GetAttributeValueARGB (AttributeType type, int index)
| Get an ARGB value (specified by index) for specified attribute type. More...
int | GetAttributeValueCount (AttributeType type)
| Get value count of a specified attribute type. More...
LRStructureElement | GetAttributeValueElement (AttributeType type, int index)
| Get an structure element object (specified by index) for specified attribute type. More...
AttributeValueEnum | GetAttributeValueEnum (AttributeType type, int index)
| Get an enum value (specified by index) for specified attribute type. More...
float | GetAttributeValueFloat (AttributeType type, int index)
| Get a float value (specified by index) for specified attribute type. More...
int32 | GetAttributeValueInt32 (AttributeType type, int index)
| Get an integer value (specified by index) for specified attribute type. More...
WString | GetAttributeValueString (AttributeType type, int index)
| Get a string value (specified by index) for specified attribute type. More...
AttributeValueType | GetAttributeValueType (AttributeType type)
| Get attribute value type for a specified attribute type. More...
RectF | GetBBox () const
| Get bounding box. More...
LRElement | GetChild (int index)
| Get a child element by index. More...
int | GetChildCount ()
| Get the count of children elements. More...
LRStructureElement | GetParentElement () const
| Get the parent element. More...
AttributeType | GetSupportedAttribute (int index)
| Get a supported attribute type by index. More...
int | GetSupportedAttributeCount ()
| Get supported attribute count. More...
Public Member Functions inherited from foxit::addon::layoutrecognition::LRElement
| LRElement ()
| Constructor.
| LRElement (const LRElement &other)
| Constructor, with another base element object. More...
| ~LRElement ()
| Destructor.
ElementType | GetElementType ()
| Get element type. More...
bool | IsContentElement () const
| Check whether current object is content element or not. More...
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | IsGraphicsObjectElement () const
| Check whether current object is graphics object element or not. More...
bool | IsStructureElement () const
| Check whether current object is structure element or not. More...
bool | operator!= (const LRElement &other) const
| Not equal operator. More...
LRElement & | operator= (const LRElement &other)
| Assign operator. More...
bool | operator== (const LRElement &other) const
| Equal operator. More...
String | StringifyType () const
| Convert type (enum value) of current element to a short and memorable string (text) representation. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Static Public Member Functions
static bool | IsArrayAttributeValueType (AttributeValueType type)
| Check whether input attribute value type represents an array. More...
static AttributeType | ParseAttributeType (String type_string)
| Parse a string representation for attribute type and retrieve the enum value for this attribute type. More...
static String | StringifyAttributeType (AttributeType type)
| Convert the enum value of a specified attribute type to a short and memorable string (text) representation. More...
static String | StringifyEnumVariant (AttributeValueEnum type)
| Convert the enum value of a specified attribute value enum to a short and memorable string (text) representation. More...
Static Public Member Functions inherited from foxit::addon::layoutrecognition::LRElement
static String | StringifyElementType (ElementType type)
| Convert enum value of a specified element type to a short and memorable string (text) representation. More...

## Detailed Description

This class represents a structure element. A structure element can be used to construct a tree, like graphics structure element, paragraph structure element, span structure element and so on.

## Member Enumeration Documentation

## ◆ AttributeType

enum foxit::addon::layoutrecognition::LRStructureElement::AttributeType

Enumeration for element general layout attribute types.

Values of this enumeration should be used alone. For more details, please refer to "Layout Attributes" in <PDF reference 1.7> P916.

Enumerator
e_AttributeTypeInvalid | Attribute type: invalid.
e_AttributeTypeRole | Attribute type: role, which means strings of structure element meaning and standard type it maps to. Note Value type for this attribute type is string.
e_AttributeTypePlacement | Attribute type: Placement, which means the positioning of the element with respect to the enclosing reference area and other content. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumBlock LRStructureElement::e_AttributeValueEnumInline LRStructureElement::e_AttributeValueEnumBefore LRStructureElement::e_AttributeValueEnumStart LRStructureElement::e_AttributeValueEnumEnd
e_AttributeTypeRotation | Attribute type: Rotation. Note Value type for this attribute type is number.
e_AttributeTypeWritingMode | Attribute type: WritingMode, which means the directions of layout progression for packing of ILSEs (inline progression) and stacking of BLSEs (block progression). Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumLrTb LRStructureElement::e_AttributeValueEnumRlTb LRStructureElement::e_AttributeValueEnumTbRl LRStructureElement::e_AttributeValueEnumTbLr (PDF 2.0)
e_AttributeTypeDestination | Attribute type: Destination (PDF 2.0), which provides a means to access content. Note Value type for this attribute type is an array of zero or stirngs with ID.
e_AttributeTypeBBox | Attribute type: BBox, which represents the element's bounding box (the rectangle that completely encloses its visible content). Note Value type for this attribute type is an array of four numbers in PDF coordinate system giving the coordinates of the left, bottom, right, and top edges of the elements's bounding box.
e_AttributeTypeWidth | Attribute type: Width, which represents the width of the element's content rectangle. Note Value type for this attribute type is number or enum value LRStructureElement::e_AttributeValueEnumAuto.
e_AttributeTypeHeight | Attribute type: Height, which represents the height of the element's content rectangle. Note Value type for this attribute type is number or enum value LRStructureElement::e_AttributeValueEnumAuto.
e_AttributeTypeBackgroundColor | Attribute type: BackgroundColor, which represents the color to be used to fill the background of a table cell or any element's content rectangle. Note Value type for this attribute type is RGB color.
e_AttributeTypeBorderColor | Attribute type: BorderColor, which represents the color of the border drawn on the edges of a table cell or any element's content rectangle. Note Value type for this attribute type is RGB color or an array of RGB color values.
e_AttributeTypeBorderStyle | Attribute type: BorderStyle, which represents the style of an element's border. Note Value type for this attribute type is enum or an array of enum values. Valid enum values are: LRStructureElement::e_AttributeValueEnumNone LRStructureElement::e_AttributeValueEnumHidden LRStructureElement::e_AttributeValueEnumDotted LRStructureElement::e_AttributeValueEnumDashed LRStructureElement::e_AttributeValueEnumSolid LRStructureElement::e_AttributeValueEnumDouble LRStructureElement::e_AttributeValueEnumGroove LRStructureElement::e_AttributeValueEnumRidge LRStructureElement::e_AttributeValueEnumInset LRStructureElement::e_AttributeValueEnumOutset
e_AttributeTypeBorderThickness | Attribute type: BorderThickness, which represents the thickness of the border drawn on the edges of a table cell or any element's content rectangle. Note Value type for this attribute type is number (for all four edges) or an array of four numbers (for one edge of the border, in the order of the before, after, start, and end edge).
e_AttributeTypeAttached | Attribute type: Attached, which specifies the edges of the page, if any, to which the artifact is logically attached. Note Value type for this attribute type is an array of specified enum values. Valid enum values are: LRStructureElement::e_AttributeValueEnumTop LRStructureElement::e_AttributeValueEnumLeft LRStructureElement::e_AttributeValueEnumBottom LRStructureElement::e_AttributeValueEnumRight
e_AttributeTypeSubType | Attribute type: Subtype, which means the subtype of annotation or artifact. Note Value type for this attribute type: For annotation, value type is string. For artifact, value type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumPagination LRStructureElement::e_AttributeValueEnumLayout LRStructureElement::e_AttributeValueEnumPage LRStructureElement::e_AttributeValueEnumBackground
e_AttributeTypePadding | Attribute type: Padding, which specifies an offset to account for the separation between the element's content rectangle and the surrounding border. Note Value type for this attribute type is number (for all four sides) or an array of four numbers (for the before, after, start, and end edge).
e_AttributeTypeColor | Attribute type: Color, which represents the color to be used for drawing text and the default value for the color of table borders and text decorations. Note Value type for this attribute type is RGB color.
e_AttributeTypeSpaceBefore | Attribute type: SpaceBefore, which represents the amount of extra space preceding the before edge of the BLSE. Note Value type for this attribute type is number.
e_AttributeTypeSpaceAfter | Attribute type: SpaceAfter, which represents the amount of extra space following the after edge of the BLSE. Note Value type for this attribute type is number.
e_AttributeTypeStartIndent | Attribute type: StartIndent, which represents the distance from the start edge of the reference area to that of the BLSE. Note Value type for this attribute type is number.
e_AttributeTypeEndIndent | Attribute type: EndIndent, which represents the distance from the end edge of the BLSE to that of the reference area. Note Value type for this attribute type is number.
e_AttributeTypeTextIndent | Attribute type: TextIndent, which represents the additional distance from the start edge of the BLSE, as specified by LRStructureElement::e_AttributeTypeStartIndent, to that of the first line of text. Note Value type for this attribute type is number.
e_AttributeTypeTextAlign | Attribute type: TextAlign, which represents the alignment of text and other content within lines of the BLSE. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumStart LRStructureElement::e_AttributeValueEnumCenter LRStructureElement::e_AttributeValueEnumEnd LRStructureElement::e_AttributeValueEnumJustify
e_AttributeTypeBlockAlign | Attribute type: BlockAlign, which represents the alignment, in the block-progression direction, of content within the table cell. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumBefore LRStructureElement::e_AttributeValueEnumCenter LRStructureElement::e_AttributeValueEnumAfter LRStructureElement::e_AttributeValueEnumJustify
e_AttributeTypeInlineAlign | Attribute type: InlineAlign, which represents the alignment, in the inline-progression direction, of content within the table cell. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumStart LRStructureElement::e_AttributeValueEnumCenter LRStructureElement::e_AttributeValueEnumEnd
e_AttributeTypeTBorderStyle | Attribute type: TBorderStyle, which represents the style of the border drawn on each edge of a table cell. Note Value type for this attribute type is enum or an array of specified enum values. Valid enum values are: LRStructureElement::e_AttributeValueEnumNone LRStructureElement::e_AttributeValueEnumHidden LRStructureElement::e_AttributeValueEnumDotted LRStructureElement::e_AttributeValueEnumDashed LRStructureElement::e_AttributeValueEnumSolid LRStructureElement::e_AttributeValueEnumDouble LRStructureElement::e_AttributeValueEnumGroove LRStructureElement::e_AttributeValueEnumRidge LRStructureElement::e_AttributeValueEnumInset LRStructureElement::e_AttributeValueEnumOutset
e_AttributeTypeTPadding | Attribute type: TPadding, which specifies an offset to account for the separation between the table cell's content rectangle and the surrounding border. Note Value type for this attribute type is number (for all four edges of the table cell) or an array of four numbers (for the before edge, after edge, start edge, and end edge of the content rectangle).
e_AttributeTypeBaselineShift | Attribute type: BaselineShift, which means the distance by which the element's baseline is shifted relative to that of its parent element. Note Value type for this attribute type is number.
e_AttributeTypeLineHeight | Attribute type: LineHeight, which means the element's preferred height, in the block-progression direction. Note Value type for this attribute type can be number or enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumNormal LRStructureElement::e_AttributeValueEnumAuto
e_AttributeTypeTextDecorationColor | Attribute type: TextDecorationColor, which represents the color to be used for drawing text decorations. Note Value type for this attribute type is RGB color.
e_AttributeTypeTextDecorationThickness | Attribute type: TextDecorationThickness, which represents the thickness of each line drawn as part of the text decoration. Note Value type for this attribute type is number.
e_AttributeTypeTextDecorationType | Attribute type: TextDecorationType, which represents the text decoration, if any, to be applied to the element's text. Note Value type for this attribute type is enum or an array of specified enum values. Valid enum values are: LRStructureElement::e_AttributeValueEnumNone LRStructureElement::e_AttributeValueEnumUnderline LRStructureElement::e_AttributeValueEnumOverline LRStructureElement::e_AttributeValueEnumLineThrough
e_AttributeTypeRubyAlign | Attribute type: RubyAlign, which represents the justification of the lines within a ruby assembly. Note Value type for this attribute type is enum or an array of specified enum values. Valid enum values are: LRStructureElement::e_AttributeValueEnumStart LRStructureElement::e_AttributeValueEnumCenter LRStructureElement::e_AttributeValueEnumEnd LRStructureElement::e_AttributeValueEnumJustify LRStructureElement::e_AttributeValueEnumDistribute
e_AttributeTypeRubyPosition | Attribute type: RubyPosition, which represents the placement of the RT structure element relative to the RB element in a ruby assembly. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumBefore LRStructureElement::e_AttributeValueEnumAfter LRStructureElement::e_AttributeValueEnumWarichu LRStructureElement::e_AttributeValueEnumInline
e_AttributeTypeGlyphOrientationVertical | Attribute type: GlyphOrientationVertical, which specifies the orientation of glyphs when the inline-progression direction is top to bottom or bottom to top. Note Value type for this attribute type is number (which should be one of specified numbers -90, 0, 90, 180, and 270) or enum (which should be value LRStructureElement::e_AttributeValueEnumAuto).
e_AttributeTypeColumnCount | Attribute type: ColumnCount, which represents the number of columns in the content of the grouping element. Note Value type for this attribute type is number.
e_AttributeTypeColumnGap | Attribute type: ColumnGap, which represents the desired space between adjacent columns, measured in the inline-progression direction. Note Value type for this attribute type can be number (for all columns) or an array of numbers. When the value type is array: if the array contains (ColumnCount-1) numbers, these numbers represent the space between the first and second columns, the second and third columns, and so on, respectively. if there are fewer than (ColumnCount-1) numbers, the last element specifies all remaining spaces; excess array elements are ignored.
e_AttributeTypeColumnWidths | Attribute type: ColumnWidths, which represents the desired width of the columns, measured in the inline-progression direction. Note Value type for this attribute type can be number (for all columns) or an array of numbers. When the value type is array: if the array contains ColumnCount numbers, these numbers represent the width of each column, in order. if there are fewer than ColumnCount numbers, the last element specifies all remaining widths; excess array elements are ignored.
e_AttributeTypeListNumbering | Attribute type only for List: ListNumbering, which represents the numbering system to be used to generate the content of the Lbl (Label) elements in an autonumbered list, or the symbol used to identify each item in an unnumbered list. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumNone LRStructureElement::e_AttributeValueEnumDisc LRStructureElement::e_AttributeValueEnumCircle LRStructureElement::e_AttributeValueEnumSquare LRStructureElement::e_AttributeValueEnumDecimal LRStructureElement::e_AttributeValueEnumUpperRoman LRStructureElement::e_AttributeValueEnumLowerRoman LRStructureElement::e_AttributeValueEnumUpperAlpha LRStructureElement::e_AttributeValueEnumLowerAlpha LRStructureElement::e_AttributeValueEnumUnordered (PDF 2.0) LRStructureElement::e_AttributeValueEnumOrdered (PDF 2.0)
e_AttributeTypeFieldRole | Attribute type only for PrintField: Role, which represents the type of form field represented by this graphic. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumRB LRStructureElement::e_AttributeValueEnumCB LRStructureElement::e_AttributeValueEnumPB LRStructureElement::e_AttributeValueEnumTV
e_AttributeTypeFieldChecked | Attribute type only for PrintField: checked, which represents the state of a radio button or check box field. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumOn LRStructureElement::e_AttributeValueEnumOff LRStructureElement::e_AttributeValueEnumNeutral
e_AttributeTypeFieldDesc | Attribute type only for PrintField: Desc, which represents the alternate name of the field, similar to the value supplied in the TU entry of the field dictionary for interactive fields. Note Value type for this attribute type is string.
e_AttributeTypeRowSpan | Attribute type only for Table: RowSpan, which represents the number of rows in the enclosing table that are spanned by the cell. Note Value type for this attribute type is number.
e_AttributeTypeColSpan | Attribute type only for Table: ColSpan, which represents the number of columns in the enclosing table that are spanned by the cell. Note Value type for this attribute type is number.
e_AttributeTypeTableHeaders | (Currently, unsupported) Attribute type only for Table: Headers, which represents an array of element identifiers. Note Value type for this attribute type is an array of strings.
e_AttributeTypeTableHeaderScope | Attribute type only for Table: Scope, which indicates whether the header cell applies to the rest of the cells in the row that contains it, the column that contains it, or both the row and the column that contain it. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumRow LRStructureElement::e_AttributeValueEnumColumn LRStructureElement::e_AttributeValueEnumBoth
e_AttributeTypeTableSummary | Attribute type only for Table: Summary, which represents a summary of the table's purpose and structure, for use in non-visual rendering such as speech or braille. Note Value type for this attribute type is string.
e_AttributeTypeShort | Attribute type: Short (PDF 2.0), which contains a short form of the content of a TH structure element's content. Note Value type for this attribute type is string.
e_AttributeTypeDirection | (Reserved) Attribute type: Direction. Note Value type for this attribute type is enum. Valid enum values are: LRStructureElement::e_AttributeValueEnumStart LRStructureElement::e_AttributeValueEnumEnd LRStructureElement::e_AttributeValueEnumBefore LRStructureElement::e_AttributeValueEnumAfter LRStructureElement::e_AttributeValueEnumOther (PDF 2.0)
e_AttributeTypeABox | (Reserved) Attribute type: ABox. Note Value type for this attribute type is an array of four numbers.
e_AttributeTypeVersion | (Reserved) Attribute type: Version, which represents schema version of layout recognition engine. Note Value type for this attribute type is number.

## ◆ AttributeValueEnum

enum foxit::addon::layoutrecognition::LRStructureElement::AttributeValueEnum

Enumeration for element general layout attribute enum values.

Values of this enumeration should be used alone. This is the set of enum values for all attribute types whose value types are enum or an array of enum values.

Enumerator
e_AttributeValueEnumInvalid | Invalid enum value.
e_AttributeValueEnumBlock | Enum value: Block, which means to be stacked in the block-progression direction within an enclosing reference area or parent BLSE. Note This can be used with attribute type LRStructureElement::e_AttributeTypePlacement.
e_AttributeValueEnumInline | Enum value: Inline, which means the placement for attributes Placement/RubyPosition. For attribute Placement, this means to be packed in the inline-progression direction within an enclosing BLSE. For attribute RubyPosition, this means that the RT and associated RP elements are to be formatted as a parenthesis comment, following the RB element Note This can be used with attribute types LRStructureElement::e_AttributeTypePlacement, and LRStructureElement::e_AttributeTypeRubyPosition.
e_AttributeValueEnumWarichu | Enum value: Warichu, which means the RT and associated RP elements are to be formatted as a warichu, following the RB element. Note This can be used with attribute type LRStructureElement::e_AttributeTypeRubyPosition.
e_AttributeValueEnumBefore | Enum value: Before, which means the placement for attributes Placement/RubyPosition or alignment for attribute BlockAlign. For attribute Placement, this means to be placed so that the before edge of the element's allocation rectangle coincides with that of the nearest enclosing reference area. For attribute BlockAlign, this means before edge of the first child's allocation rectangle aligned with that of the table cell's content rectangle. For attribute RubyPosition, this means the placement of the RT structure element relative to the RB element in a ruby assembly. Note This can be used with attribute types LRStructureElement::e_AttributeTypePlacement, LRStructureElement::e_AttributeTypeBlockAlign, and LRStructureElement::e_AttributeTypeRubyPosition.
e_AttributeValueEnumAfter | Enum value: After, which means the alignment for attribute BlockAlign or the placement for attribute RubyPosition. For attribute BlockAlign, this means after edge of the last child's allocation rectangle aligned with that of the table cell's content rectangle. For attribute RubyPosition, this means the RT content is to be aligned along the after edge of the element. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBlockAlign, and LRStructureElement::e_AttributeTypeRubyPosition.
e_AttributeValueEnumStart | Enum value: Start, which means the place for attribute Placement, or the alignment for attributes TextAlign/InlineAlign/RubyAlign. For attribute Placement, this means to be placed so that the start edge of the element's allocation rectangle coincides with that of the nearest enclosing reference area. For attribute TextAlign, this means to be aligned with the start edge. For attribute InlineAlign, this means start edge of each child's allocation rectangle aligned with that of the table cell's content rectangle. For attribute RubyAlign, this means that the content is to be aligned on the start edge in the inlineprogression direction. Note This can be used with attribute types LRStructureElement::e_AttributeTypePlacement, LRStructureElement::e_AttributeTypeTextAlign, LRStructureElement::e_AttributeTypeInlineAlign, and LRStructureElement::e_AttributeTypeRubyAlign.
e_AttributeValueEnumEnd | Enum value: End, which means the place for attribute Placement, or the alignment for attributes TextAlign/InlineAlign/RubyAlign. For attribute Placement, this means to be placed so that the end edge of the element's allocation rectangle coincides with that of the nearest enclosing reference area. For attribute TextAlign, this means to be aligned with the end edge. For attribute InlineAlign, this means end edge of each child's allocation rectangle aligned with that of the table cell's content rectangle. For attribute RubyAlign, this means that the content is to be aligned on the end edge in the inlineprogression direction. Note This can be used with attribute types LRStructureElement::e_AttributeTypePlacement, LRStructureElement::e_AttributeTypeTextAlign, LRStructureElement::e_AttributeTypeInlineAlign, and LRStructureElement::e_AttributeTypeRubyAlign.
e_AttributeValueEnumLrTb | Enum value: LtTb, which means inline progression from left to right; block progression from top to bottom. Note This can be used with attribute type LRStructureElement::e_AttributeTypeWritingMode.
e_AttributeValueEnumRlTb | Enum value: RlTb, which means inline progression from right to left; block progression from top to bottom. Note This can be used with attribute type LRStructureElement::e_AttributeTypeWritingMode.
e_AttributeValueEnumTbRl | Enum value: TbRl, which means inline progression from top to bottom; block progression from right to left. Note This can be used with attribute type LRStructureElement::e_AttributeTypeWritingMode.
e_AttributeValueEnumTbLr | Enum value: TbLr (PDF 2.0), which means inline progression from top to bottom; block progression from left to right. Note This can be used with attribute type LRStructureElement::e_AttributeTypeWritingMode.
e_AttributeValueEnumNone | Enum value: None, which means no such attribute. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, LRStructureElement::e_AttributeTypeTBorderStyle, .* LRStructureElement::e_AttributeTypeTextDecorationType, and LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumHidden | Enum value: Hidden, which is same as None except in terms of border conflict resolution for table elements. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumDotted | Enum value: Dotten, which means the border is a series of dots. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumDashed | Enum value: Dashed, which means the border is a series of short line segments. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumSolid | Enum value: Solid, which means the border is a single line segment. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumDouble | Enum value: Double, which means the border is two solid lines. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumGroove | Enum value: Groove, which means the border looks as though it were carved into the canvas. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumRidge | Enum value: Ridge, which means the border looks as though it were coming out of the canvas (the opposite of Groove). Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumInset | Enum value: Inset, which means the border makes the entire box look as though it were embedded in the canvas. Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumOutset | Enum value: Outset, which means the border makes the entire box look as though it were coming out of the canvas (the opposite of Inset). Note This can be used with attribute types LRStructureElement::e_AttributeTypeBorderStyle, and LRStructureElement::e_AttributeTypeTBorderStyle.
e_AttributeValueEnumNormal |
     @brief Enum value: Normal, which means to adjust the line height to include any nonzero value
specified for attribute BaselineShift .
     @note This can be used with attribute type @link LRStructureElement::e_AttributeTypeLineHeight @endlink.
e_AttributeValueEnumAuto | Enum value: Auto. For attribute Width and Height, this indicates that no specific value and the value will be determined automatically. For attribute LineHeight, this means not to adjust for the value of BaselineShift. For attribute GlyphOrientationVertical, this specifies a default orientation for text depending on whether it is fullwidth(as wide as it is high). Note This can be used with attribute types LRStructureElement::e_AttributeTypeWidth, LRStructureElement::e_AttributeTypeHeight, LRStructureElement::e_AttributeTypeLineHeight, and LRStructureElement::e_AttributeTypeGlyphOrientationVertical.
e_AttributeValueEnumCenter | Enum value: Center, which means the alignment for attributes TextAlign/InlineAlign/RubyAlign. For attribute TextAlign, this means to be centered between the start and end edges. For attribute InlineAlign, this means that each child centered within the table cell. For attribute RubyAlign, this means that the content is to be centered in the inline-progression direction Note This can be used with attribute types LRStructureElement::e_AttributeTypeTextAlign, LRStructureElement::e_AttributeTypeInlineAlign, and LRStructureElement::e_AttributeTypeRubyAlign.
e_AttributeValueEnumJustify | Enum value: Justify, which means the alignment for attributes TextAlign/BlockAlign/RubyAlign. For attribute TextAlign, this means to be aligned with both the start and end edges, with internal spacing within each line expanded, if necessary, to achieve such alignment. For attribute BlockAlign, this means that children are aligned with both the before and after edges of the table cell's content rectangle. For attribute RubyAlign, this means that the content is to be centered in the inline-progression direction Note This can be used with attribute types LRStructureElement::e_AttributeTypeTextAlign, LRStructureElement::e_AttributeTypeBlockAlign, and LRStructureElement::e_AttributeTypeRubyAlign.
e_AttributeValueEnumMiddle | Enum value: Middle, which means children are centered within the table cell. Note This can be used with attribute type LRStructureElement::e_AttributeTypeBlockAlign.
e_AttributeValueEnumUnderline | Enum value: Underline, which means a line below the text. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTextDecorationType.
e_AttributeValueEnumOverline | Enum value: Overline, which means a line above the text. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTextDecorationType.
e_AttributeValueEnumLineThrough | Enum value: LineThrough, which means a line through the middle of the text. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTextDecorationType.
e_AttributeValueEnumDistribute | Enum value: Distribute, which means the content is to be expanded to fill the available width in the inline-progression direction. Note This can be used with attribute type LRStructureElement::e_AttributeTypeRubyAlign.
e_AttributeValueEnumDisc | Enum value: Disc, which means solid circular bullet. Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumCircle | Enum value: Circle, which means open circular bullet. Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumSquare | Enum value: Square, which means solid square bullet. Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumDecimal | Enum value: Decimal, which means decimal arabic numerals (1-9, 10-99, ...). Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumUpperRoman | Enum value: UpperRoman, which means uppercase roman numerals (I, II, III, IV, ...). Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumLowerRoman | Enum value: LowerRoman, which means lowercase roman numerals (i, ii, iii, iv, ...). Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumUpperAlpha | Enum value: UpperAlpha, which means uppercase letters (A, B, C, ...). Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumLowerAlpha | Enum value: LowerAlpha, which means lowercase letters (a, b, c, ...). Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumUnordered | Enum value: Unordered (PDF 2.0), which means unordered list with unspecified bullets. Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumOrdered | Enum value: Ordered (PDF 2.0), which means ordered lists with unspecified numbering. Note This can be used with attribute type LRStructureElement::e_AttributeTypeListNumbering.
e_AttributeValueEnumFloat | Enum value: float.
e_AttributeValueEnumRB | Enum value: rb, which means radio button. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldRole.
e_AttributeValueEnumCB | Enum value: cb, which means check box. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldRole.
e_AttributeValueEnumPB | Enum value: pb, which means push button. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldRole.
e_AttributeValueEnumTV | Enum value: tv, which means text-value field. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldRole.
e_AttributeValueEnumOn | Enum value: on, which means the state is on. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldChecked.
e_AttributeValueEnumOff | Enum value: off, which means the state is off. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldChecked.
e_AttributeValueEnumNeutral | Enum value: neutral, which means the state is neutral. Note This can be used with attribute type LRStructureElement::e_AttributeTypeFieldChecked.
e_AttributeValueEnumRow | Enum value: Row, which means row of a table. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTableHeaderScope.
e_AttributeValueEnumColumn | Enum value: Row, which means column of a table. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTableHeaderScope.
e_AttributeValueEnumBoth | Enum value: Row, which means both row and column of a table. Note This can be used with attribute type LRStructureElement::e_AttributeTypeTableHeaderScope.
e_AttributeValueEnumLeft | Enum value: Left, which means left edge of the page. Note This can be used with attribute type LRStructureElement::e_AttributeTypeAttached.
e_AttributeValueEnumTop | Enum value: Top, which means top edge of the page. Note This can be used with attribute type LRStructureElement::e_AttributeTypeAttached.
e_AttributeValueEnumBottom | Enum value: Bottom, which means bottom edge of the page. Note This can be used with attribute type LRStructureElement::e_AttributeTypeAttached.
e_AttributeValueEnumRight | Enum value: Right, which means right edge of the page. Note This can be used with attribute type LRStructureElement::e_AttributeTypeAttached.
e_AttributeValueEnumPagination | Enum value: Pagination, which means pagination artifacts. Ancillary page features such as running heads and folios (page numbers). Note This can be used with attribute type LRStructureElement::e_AttributeTypeSubType.
e_AttributeValueEnumLayout | Enum value: Layout, which means layout artifacts. Purely cosmetic typographical or design elements such as footnote rules or background screens. Note This can be used with attribute type LRStructureElement::e_AttributeTypeSubType.
e_AttributeValueEnumPage | Enum value: Page, which means page artifacts. Production aids extraneous to the document itself, such as cut marks and color bars. Note This can be used with attribute type LRStructureElement::e_AttributeTypeSubType.
e_AttributeValueEnumBackground | Enum value: Background, which means background artifacts. Background artifacts typically serve as a background for content shown either on top of or placed adjacent to that background. Note This can be used with attribute type LRStructureElement::e_AttributeTypeSubType.
e_AttributeValueEnumHeader | Enum value: Header.
e_AttributeValueEnumFooter | Enum value: Footer.
e_AttributeValueEnumWatermark | Enum value: Watermark.
e_AttributeValueEnumPageNum | Enum value: PageNum (PDF2.0).
e_AttributeValueEnumBates | Enum value: Bates (PDF2.0).
e_AttributeValueEnumOther | Enum value: Other (PDF 2.0). Note This can be used with attribute type LRStructureElement::e_AttributeTypeDirection.

## ◆ AttributeValueType

enum foxit::addon::layoutrecognition::LRStructureElement::AttributeValueType

Enumeration for value type of element general layout attribute.

Values of this enumeration should be used alone.

Enumerator
e_AttributeValueTypeEmpty | Empty value type.
e_AttributeValueTypeEnum | Value type: enum.
e_AttributeValueTypeInt32 | Value type: 32-bit signed integer.
e_AttributeValueTypeFloat | Value type: float.
e_AttributeValueTypeARGB | Value type: ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24).
e_AttributeValueTypeWStr | Value type: wide string.
e_AttributeValueTypeElement | Value type: element.
e_AttributeValueTypeEnumArray | Value type: an array of enum values.
e_AttributeValueTypeInt32Array | Value type: an array of integer values.
e_AttributeValueTypeFloatArray | Value type: an array of float values.
e_AttributeValueTypeARGBArray | Value type: an array of ARGB values.
e_AttributeValueTypeWStrArray | Value type: an array of wide strings.
e_AttributeValueTypeElementArray | Value type: an array of elements.

## Constructor & Destructor Documentation

## ◆ LRStructureElement() [1/2]

foxit::addon::layoutrecognition::LRStructureElement::LRStructureElement | ( | const LRStructureElement & | other | ) |

Constructor, with another structure element object.

Parameters

  [in] | other | Another structure element object.

## ◆ LRStructureElement() [2/2]

foxit::addon::layoutrecognition::LRStructureElement::LRStructureElement | ( | const LRElement & | element | ) |

Constructor, with parent class object.

Parameters

  [in] | element | Parent class object.

## Member Function Documentation

## ◆ GetAttributeValueARGB()

ARGB foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueARGB | ( | AttributeType | type,
|  | int | index
| ) |  |

Get an ARGB value (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeARGB or LRStructureElement::e_AttributeValueTypeARGBArray. For other value type, this function will return 0.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  ARGB value.

## ◆ GetAttributeValueCount()

int foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueCount | ( | AttributeType | type | ) |

Get value count of a specified attribute type.

- When the value type of an attribute type represents an array, this function returns the size of the array.
- When the value type of an attribute type does not represent an array, this function will alway return 1.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.

Returns
  Value count of a specified attribute type.

## ◆ GetAttributeValueElement()

LRStructureElement foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueElement | ( | AttributeType | type,
|  | int | index
| ) |  |

Get an structure element object (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeElement or LRStructureElement::e_AttributeValueTypeElementArray. For other value type, this function will return a structure element whose function LRStructureElement::IsEmpty returns true.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  A structure element.

## ◆ GetAttributeValueEnum()

AttributeValueEnum foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueEnum | ( | AttributeType | type,
|  | int | index
| ) |  |

Get an enum value (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeEnum or LRStructureElement::e_AttributeValueTypeEnumArray. For other value type, this function will return LRStructureElement::e_AttributeValueEnumInvalid.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  An enum value. Please refer to values starting from LRStructureElement::e_AttributeValueEnumInvalid and this would be one of these values.

## ◆ GetAttributeValueFloat()

float foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueFloat | ( | AttributeType | type,
|  | int | index
| ) |  |

Get a float value (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeFloat or LRStructureElement::e_AttributeValueTypeFloatArray. For other value type, this function will return 0.0.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  Float value.

## ◆ GetAttributeValueInt32()

int32 foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueInt32 | ( | AttributeType | type,
|  | int | index
| ) |  |

Get an integer value (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeInt32 or LRStructureElement::e_AttributeValueTypeInt32Array. For other value type, this function will return 0.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  Integer value.

## ◆ GetAttributeValueString()

WString foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueString | ( | AttributeType | type,
|  | int | index
| ) |  |

Get a string value (specified by index) for specified attribute type.

This function is available for attributes whose value type is LRStructureElement::e_AttributeValueTypeWStr or LRStructureElement::e_AttributeValueTypeWStrArray. For other value type, this function will return an empty string.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
  [in] | index | Index to specify which value will be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetAttributeValueCount.

Returns
  Wide string value.

## ◆ GetAttributeValueType()

AttributeValueType foxit::addon::layoutrecognition::LRStructureElement::GetAttributeValueType | ( | AttributeType | type | ) |

Get attribute value type for a specified attribute type.

Parameters

  [in] | type | Attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.

Returns
  Value type for the specified attribute type. Please refer to values starting from LRStructureElement::e_AttributeValueTypeEmpty and this would be one of these values.

## ◆ GetBBox()

RectF foxit::addon::layoutrecognition::LRStructureElement::GetBBox | ( |  | ) | const

Get bounding box.

Returns
  Bounding box.

## ◆ GetChild()

LRElement foxit::addon::layoutrecognition::LRStructureElement::GetChild | ( | int | index | ) |

Get a child element by index.

Parameters

  [in] | index | Index of a child element to be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetChildCount.

Returns
  A child element.

## ◆ GetChildCount()

int foxit::addon::layoutrecognition::LRStructureElement::GetChildCount | ( |  | ) |

Get the count of children elements.

Returns
  Count of children elements.

## ◆ GetParentElement()

LRStructureElement foxit::addon::layoutrecognition::LRStructureElement::GetParentElement | ( |  | ) | const

Get the parent element.

Returns
  Parent element. If function LRStructureElement::IsEmpty for the returned object returns true, that means current element does not have a parent element.

## ◆ GetSupportedAttribute()

AttributeType foxit::addon::layoutrecognition::LRStructureElement::GetSupportedAttribute | ( | int | index | ) |

Get a supported attribute type by index.

Parameters

  [in] | index | Index for a supported attribute whose type is to be retrieved. Valid range: from 0 to (count-1). count is returned by function LRStructureElement::GetSupportedAttributeCount.

Returns
  Attribute type of the attribute specified by index.

## ◆ GetSupportedAttributeCount()

int foxit::addon::layoutrecognition::LRStructureElement::GetSupportedAttributeCount | ( |  | ) |

Get supported attribute count.

Returns
  Count of supported attribute.

## ◆ IsArrayAttributeValueType()

static bool foxit::addon::layoutrecognition::LRStructureElement::IsArrayAttributeValueType | ( | AttributeValueType | type | ) |
| static

Check whether input attribute value type represents an array.

Parameters

  [in] | type | Attribute value type. Please refer to values starting from LRStructureElement::e_AttributeValueTypeEmpty and this should be one of these values.

Returns
  true means input type represents an array, while false means input type does not represent an array.

## ◆ ParseAttributeType()

static AttributeType foxit::addon::layoutrecognition::LRStructureElement::ParseAttributeType | ( | String | type_string | ) |
| static

Parse a string representation for attribute type and retrieve the enum value for this attribute type.

Parameters

  [in] | type_string | A string representation for a structure element attribute type.

Returns
  Enum value for attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeInvalid and this would be one of these values.

## ◆ StringifyAttributeType()

static String foxit::addon::layoutrecognition::LRStructureElement::StringifyAttributeType | ( | AttributeType | type | ) |
| static

Convert the enum value of a specified attribute type to a short and memorable string (text) representation.

Parameters

  [in] | type | Enum value of a specified attribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeInvalid and this should be one of these values.

Returns
  A string that represents the short and memorable string representation for specified type. If there is no short and memorable string representation, or input type is LRStructureElement::e_AttributeTypeInvalid or an invalid enum value, this function would return an empty string.

## ◆ StringifyEnumVariant()

static String foxit::addon::layoutrecognition::LRStructureElement::StringifyEnumVariant | ( | AttributeValueEnum | type | ) |
| static

Convert the enum value of a specified attribute value enum to a short and memorable string (text) representation.

Parameters

  [in] | type | Enum value of a specified attribute value enum. Please refer to values starting from LRStructureElement::e_AttributeValueEnumInvalid and this should be one of these values.

Returns
  A string that represents the short and memorable string representation for specified enum. If there is no short and memorable string representation, or input enum value is LRStructureElement::e_AttributeValueEnumInvalid or an invalid enum value, this function would return an empty string.