Foxit PDF SDK
foxit::addon::layoutrecognition::LRStructureElement Class Reference
Inheritance diagram for foxit::addon::layoutrecognition::LRStructureElement:
foxit::addon::layoutrecognition::LRElement foxit::Base

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 LRStructureElement &other)
 Constructor, with another structure element object. More...
 
 LRStructureElement (const LRElement &element)
 Constructor, with parent class 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...
 
LRElementoperator= (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

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:
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:
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:
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:
e_AttributeTypeSubType 

Attribute type: Subtype, which means the subtype of annotation or artifact.

Note
Value type for this attribute type:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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

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

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]otherAnother structure element object.

◆ LRStructureElement() [2/2]

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

Constructor, with parent class object.

Parameters
[in]elementParent 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute type. Please refer to values starting from LRStructureElement::e_AttributeTypeRole and this should be one of these values.
[in]indexIndex 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]typeAttribute 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]indexIndex 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]indexIndex 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]typeAttribute 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_stringA 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]typeEnum 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]typeEnum 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.