Foxit PDF SDK
fs_layoutrecognition.h
Go to the documentation of this file.
1 
15 #ifndef FS_LAYOUTRECOGNITION_H_
16 #define FS_LAYOUTRECOGNITION_H_
17 
18 #include "common/fs_common.h"
19 #include "pdf/fs_pdfdoc.h"
20 #include "pdf/fs_pdfpage.h"
21 
27 namespace foxit {
31 namespace addon {
35 namespace layoutrecognition {
39 class LRElement : public Base {
40  public:
47  typedef enum _ElementType {
58  e_ElementTypeArt = 0x0101,
68  e_ElementTypeDiv = 0x0100,
85  e_ElementTypeTOC = 0x0105,
270  e_ElementTypeEm = 0x030F,
323  } ElementType;
324 
325 
328 
334  LRElement(const LRElement& other);
335 
336  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
337  explicit LRElement(FS_HANDLE handle);
338 
340  ~LRElement();
341 
349  LRElement& operator = (const LRElement& other);
350 
358  bool operator == (const LRElement& other) const;
359 
367  bool operator != (const LRElement& other) const;
368 
376  bool IsEmpty() const;
377 
385 
392  bool IsContentElement() const;
393 
400  bool IsGraphicsObjectElement() const;
401 
408  bool IsStructureElement() const;
409 
416  String StringifyType() const;
417 
429 };
430 
435 class LRStructureElement FS_FINAL : public LRElement {
436  public:
443  typedef enum _AttributeType {
452  e_AttributeTypeRole = 0x524f4c45,
499  e_AttributeTypeBBox = 0x42424f58,
505  e_AttributeTypeWidth = 0x57445448,
511  e_AttributeTypeHeight = 0x48474854,
598  e_AttributeTypeColor = 0x434f4c52,
918  e_AttributeTypeShort = 0x53484f52,
937  e_AttributeTypeABox = 0x414c4258,
944  } AttributeType;
945 
952  typedef enum _AttributeValueEnum {
1440 
1446  typedef enum _AttributeValueType {
1474 
1475 
1478 
1484  LRStructureElement(const LRStructureElement& other);
1485 
1491  LRStructureElement(const LRElement& element);
1492 
1493  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1494  explicit LRStructureElement(FS_HANDLE handle);
1495 
1498 
1510 
1519  static AttributeType ParseAttributeType(String type_string);
1520 
1532 
1542 
1549 
1559 
1574 
1585 
1602 
1616  int32 GetAttributeValueInt32(AttributeType type, int index);
1617 
1631  float GetAttributeValueFloat(AttributeType type, int index);
1632 
1646  ARGB GetAttributeValueARGB(AttributeType type, int index);
1647 
1662 
1678 
1686 
1692  int GetChildCount();
1693 
1702  LRElement GetChild(int index);
1703 
1709  RectF GetBBox() const;
1710 };
1711 
1715 class LRGraphicsObjectElement FS_FINAL : public LRElement {
1716  public:
1719 
1726 
1732  LRGraphicsObjectElement(const LRElement& element);
1733 
1734  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1735  explicit LRGraphicsObjectElement(FS_HANDLE handle);
1736 
1739 
1747 
1754 
1764 
1770  int GetGraphicsObjectIndex() const;
1771 
1777  RectF GetBBox() const;
1778 
1784  Matrix GetMatrix() const;
1785 };
1786 
1790 class LRContentElement FS_FINAL : public LRElement {
1791  public:
1794 
1800  LRContentElement(const LRContentElement& other);
1801 
1807  LRContentElement(const LRElement& element);
1808 
1809  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1810  explicit LRContentElement(FS_HANDLE handle);
1811 
1814 
1822 
1830 
1839 
1845  RectF GetBBox() const;
1846 
1852  Matrix GetMatrix() const;
1853 };
1854 
1858 class LRContext FS_FINAL : public Base {
1859  public:
1868  LRContext(const pdf::PDFPage& page);
1869 
1875  LRContext(const LRContext& other);
1876 
1877  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1878  explicit LRContext(FS_HANDLE handle);
1879 
1881  ~LRContext();
1882 
1890  LRContext& operator=(const LRContext& other);
1891 
1899  bool operator==(const LRContext& other) const;
1900 
1908  bool operator!=(const LRContext& other) const;
1909 
1917  bool IsEmpty() const;
1918 
1936 
1946 };
1947 } // namespace layoutrecognition
1948 } // namespace addon
1949 } // namespace foxit
1950 #endif // FS_LAYOUTRECOGNITION_H_
1951 
Definition: fs_pdfgraphicsobject.h:241
Structure element type: DocumentFragment (PDF 2.0), which represents a part of an original complete d...
Definition: fs_layoutrecognition.h:51
Enum value: LineThrough, which means a line through the middle of the text.
Definition: fs_layoutrecognition.h:1240
Value type: element.
Definition: fs_layoutrecognition.h:1460
Structure element type: TD, which means "Table data cell" and represents a table cell containing data...
Definition: fs_layoutrecognition.h:177
Enum value: Inset, which means the border makes the entire box look as though it were embedded in the...
Definition: fs_layoutrecognition.h:1151
Attribute type: Color, which represents the color to be used for drawing text and the default value f...
Definition: fs_layoutrecognition.h:598
AttributeValueEnum
Enumeration for element general layout attribute enum values.
Definition: fs_layoutrecognition.h:952
Structure element type: Hn (PDF 2.0), which represents heading with level 7 or more.
Definition: fs_layoutrecognition.h:139
bool IsEmpty() const
Check whether current object is empty or not.
Structure element type: AnnotContent, which means annotation content element.
Definition: fs_layoutrecognition.h:322
common::Range GetGraphicsObjectRange()
Get the range of current content element in current graphics object.
pdf::objects::PDFDictionary * GetDict() const
Get PDF dictionary of related graphics object.
LRElement()
Constructor.
Definition: fs_layoutrecognition.h:327
Enum value: Row, which means row of a table.
Definition: fs_layoutrecognition.h:1357
Enum value: TbRl, which means inline progression from top to bottom; block progression from right to ...
Definition: fs_layoutrecognition.h:1077
LRGraphicsObjectElement()
Constructor.
Definition: fs_layoutrecognition.h:1718
Attribute type: ColumnWidths, which represents the desired width of the columns, measured in the inli...
Definition: fs_layoutrecognition.h:817
Enum value: rb, which means radio button.
Definition: fs_layoutrecognition.h:1315
Structure element type: ContainerObject, which means container object element.
Definition: fs_layoutrecognition.h:306
Definition: fs_common.h:1179
Attribute type: TextDecorationThickness, which represents the thickness of each line drawn as part of...
Definition: fs_layoutrecognition.h:733
Attribute type: BBox, which represents the element's bounding box (the rectangle that completely encl...
Definition: fs_layoutrecognition.h:499
Structure element type: PathContent, which means path content element.
Definition: fs_layoutrecognition.h:314
Enum value: Bottom, which means bottom edge of the page.
Definition: fs_layoutrecognition.h:1387
Structure element type: Figure, which represents an item of graphical content.
Definition: fs_layoutrecognition.h:282
Enum value: Decimal, which means decimal arabic numerals (1-9, 10-99, ...).
Definition: fs_layoutrecognition.h:1271
AttributeType
Enumeration for element general layout attribute types.
Definition: fs_layoutrecognition.h:443
int GetAttributeValueCount(AttributeType type)
Get value count of a specified attribute type.
Attribute type only for Table: Scope, which indicates whether the header cell applies to the rest of ...
Definition: fs_layoutrecognition.h:904
static String StringifyElementType(ElementType type)
Convert enum value of a specified element type to a short and memorable string (text) representation.
Structure element type: Caption, which represents a brief portion of text describing a table or figur...
Definition: fs_layoutrecognition.h:79
Enum value: Pagination, which means pagination artifacts. Ancillary page features such as running hea...
Definition: fs_layoutrecognition.h:1400
Enum value: neutral, which means the state is neutral.
Definition: fs_layoutrecognition.h:1351
bool operator==(const LRContext &other) const
Equal operator.
Structure element type: NonStruct, which means "Nonstructural element" and represents a grouping elem...
Definition: fs_layoutrecognition.h:112
Enum value: Other (PDF 2.0).
Definition: fs_layoutrecognition.h:1438
bool operator !=(const LRElement &other) const
Not equal operator.
Structure element type: Em (PDF 2.0), which means "Emphasis" and represents content for the purpose o...
Definition: fs_layoutrecognition.h:270
Attribute type only for PrintField: Role, which represents the type of form field represented by this...
Definition: fs_layoutrecognition.h:851
Structure element type: TOC, which means "Table of contents" and represents a list made up of table o...
Definition: fs_layoutrecognition.h:85
Structure element type: Form, which represents a widget annotation representing an interactive form f...
Definition: fs_layoutrecognition.h:289
Structure element type: ShadingObject, which means shading graphics object element.
Definition: fs_layoutrecognition.h:302
Attribute type: InlineAlign, which represents the alignment, in the inline-progression direction,...
Definition: fs_layoutrecognition.h:673
Enum value: Block, which means to be stacked in the block-progression direction within an enclosing r...
Definition: fs_layoutrecognition.h:961
Attribute type: Subtype, which means the subtype of annotation or artifact.
Definition: fs_layoutrecognition.h:584
Attribute type: Height, which represents the height of the element's content rectangle.
Definition: fs_layoutrecognition.h:511
Header file for PDF document related definitions and classes.
int GetSupportedAttributeCount()
Get supported attribute count.
Attribute type: Attached, which specifies the edges of the page, if any, to which the artifact is log...
Definition: fs_layoutrecognition.h:567
Attribute type only for Table: Summary, which represents a summary of the table's purpose and structu...
Definition: fs_layoutrecognition.h:911
Enum value: Disc, which means solid circular bullet.
Definition: fs_layoutrecognition.h:1253
Structure element type: Art, which means "Article" and represents a relatively self-contained body of...
Definition: fs_layoutrecognition.h:58
Enum value: Justify, which means the alignment for attributes TextAlign/BlockAlign/RubyAlign.
Definition: fs_layoutrecognition.h:1216
Enum value: on, which means the state is on.
Definition: fs_layoutrecognition.h:1339
Structure element type: P, which means "Paragraph" and represents a low-level division of text.
Definition: fs_layoutrecognition.h:119
int32 GetAttributeValueInt32(AttributeType type, int index)
Get an integer value (specified by index) for specified attribute type.
Structure element type: ComplexContent, which means complex content element.
Definition: fs_layoutrecognition.h:320
(Currently, unsupported) Attribute type only for Table: Headers, which represents an array of element...
Definition: fs_layoutrecognition.h:891
Attribute type: Width, which represents the width of the element's content rectangle.
Definition: fs_layoutrecognition.h:505
bool IsStructureElement() const
Check whether current object is structure element or not.
Enum value: float.
Definition: fs_layoutrecognition.h:1309
AttributeValueEnum GetAttributeValueEnum(AttributeType type, int index)
Get an enum value (specified by index) for specified attribute type.
Structure element type: Title (PDF 2.0), which represents content that is usually referred to as the ...
Definition: fs_layoutrecognition.h:103
Enum value: tv, which means text-value field.
Definition: fs_layoutrecognition.h:1333
Structure element type: AnnotObject, which means annotation object element.
Definition: fs_layoutrecognition.h:308
~LRContentElement()
Destructor.
Definition: fs_layoutrecognition.h:1813
Attribute type: invalid.
Definition: fs_layoutrecognition.h:445
Enum value: None, which means no such attribute.
Definition: fs_layoutrecognition.h:1093
WIDE STRING CLASS.
Definition: fx_string.h:1452
Enum value: Auto.
Definition: fs_layoutrecognition.h:1183
Attribute type: ColumnGap, which represents the desired space between adjacent columns,...
Definition: fs_layoutrecognition.h:804
Structure element type: WT, which means "Warichu text" and represents the smaller-size text of a wari...
Definition: fs_layoutrecognition.h:260
static String StringifyAttributeType(AttributeType type)
Convert the enum value of a specified attribute type to a short and memorable string (text) represent...
Value type: ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24).
Definition: fs_layoutrecognition.h:1456
Structure element type: Code, which represents a fragment of computer program text.
Definition: fs_layoutrecognition.h:221
Structure element type: Aside (PDF 2.0), which represents content that is distinct from other content...
Definition: fs_layoutrecognition.h:101
Structure element type: Annot, which means "Annotation" and represents an association between a porti...
Definition: fs_layoutrecognition.h:232
ElementType GetElementType()
Get element type.
Value type: an array of wide strings.
Definition: fs_layoutrecognition.h:1470
Definition: fs_layoutrecognition.h:1715
Enum value: Overline, which means a line above the text.
Definition: fs_layoutrecognition.h:1234
Enum value: Middle, which means children are centered within the table cell.
Definition: fs_layoutrecognition.h:1222
Enum value: LtTb, which means inline progression from left to right; block progression from top to bo...
Definition: fs_layoutrecognition.h:1063
Attribute type: EndIndent, which represents the distance from the end edge of the BLSE to that of the...
Definition: fs_layoutrecognition.h:626
Attribute type: WritingMode, which means the directions of layout progression for packing of ILSEs (i...
Definition: fs_layoutrecognition.h:485
Structure element type: H5, which represents heading with level 5.
Definition: fs_layoutrecognition.h:135
LRGraphicsObjectElement GetGraphicsObjectElement() const
Get the related graphics object element.
Structure element type: Lbl, which means "Label" and represents a name or number that distinguishes a...
Definition: fs_layoutrecognition.h:151
Attribute type: SpaceBefore, which represents the amount of extra space preceding the before edge of ...
Definition: fs_layoutrecognition.h:605
Enum value: Page, which means page artifacts. Production aids extraneous to the document itself,...
Definition: fs_layoutrecognition.h:1414
Structure element type: Strong (PDF 2.0), which represents content for the purpose of strong importan...
Definition: fs_layoutrecognition.h:275
Structure element type: BibEntry, which means "Bibliography entry" and represents a reference identif...
Definition: fs_layoutrecognition.h:219
Structure element type: L, which means "List" and represents a sequence of items of like meaning and ...
Definition: fs_layoutrecognition.h:144
Attribute type: role, which means strings of structure element meaning and standard type it maps to.
Definition: fs_layoutrecognition.h:452
Attribute type: Destination (PDF 2.0), which provides a means to access content.
Definition: fs_layoutrecognition.h:491
LRElement & operator=(const LRElement &other)
Assign operator.
Attribute type: TextDecorationColor, which represents the color to be used for drawing text decoratio...
Definition: fs_layoutrecognition.h:726
Enum value: RlTb, which means inline progression from right to left; block progression from top to bo...
Definition: fs_layoutrecognition.h:1070
static String StringifyEnumVariant(AttributeValueEnum type)
Convert the enum value of a specified attribute value enum to a short and memorable string (text) rep...
Value type: an array of float values.
Definition: fs_layoutrecognition.h:1466
Attribute type: BorderColor, which represents the color of the border drawn on the edges of a table c...
Definition: fs_layoutrecognition.h:525
Attribute type only for Table: RowSpan, which represents the number of rows in the enclosing table th...
Definition: fs_layoutrecognition.h:878
Enum value: Left, which means left edge of the page.
Definition: fs_layoutrecognition.h:1375
Attribute type: BlockAlign, which represents the alignment, in the block-progression direction,...
Definition: fs_layoutrecognition.h:661
Attribute type: RubyPosition, which represents the placement of the RT structure element relative to ...
Definition: fs_layoutrecognition.h:774
Structure element type: LBody, which means "List body" and reprsents the descriptive content of a lis...
Definition: fs_layoutrecognition.h:156
Attribute type: TBorderStyle, which represents the style of the border drawn on each edge of a table ...
Definition: fs_layoutrecognition.h:693
Attribute type: BorderThickness, which represents the thickness of the border drawn on the edges of a...
Definition: fs_layoutrecognition.h:553
Enum value: Warichu, which means the RT and associated RP elements are to be formatted as a warichu,...
Definition: fs_layoutrecognition.h:982
Enum value: Unordered (PDF 2.0), which means unordered list with unspecified bullets.
Definition: fs_layoutrecognition.h:1301
Enum value: PageNum (PDF2.0).
Definition: fs_layoutrecognition.h:1430
WString GetAttributeValueString(AttributeType type, int index)
Get a string value (specified by index) for specified attribute type.
static bool IsArrayAttributeValueType(AttributeValueType type)
Check whether input attribute value type represents an array.
Structure element type: H4, which represents heading with level 4.
Definition: fs_layoutrecognition.h:133
Enum value: LowerAlpha, which means lowercase letters (a, b, c, ...).
Definition: fs_layoutrecognition.h:1295
Attribute type: Rotation.
Definition: fs_layoutrecognition.h:472
Enum value: Start, which means the place for attribute Placement, or the alignment for attributes Tex...
Definition: fs_layoutrecognition.h:1035
Structure element type: ImageContent, which means image content element.
Definition: fs_layoutrecognition.h:316
Enum value: Header.
Definition: fs_layoutrecognition.h:1424
uint32 ARGB
ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:210
Enum value: Right, which means right edge of the page.
Definition: fs_layoutrecognition.h:1393
bool IsEmpty() const
Check whether current object is empty or not.
Attribute type: RubyAlign, which represents the justification of the lines within a ruby assembly.
Definition: fs_layoutrecognition.h:761
LRStructureElement GetParentElement() const
Get the parent element.
LRStructureElement GetRootElement()
Get the root element of structure tree.
Structure element type: Link, which represents an association between a portion of the ILSE's content...
Definition: fs_layoutrecognition.h:226
Structure element type: H3, which represents heading with level 3.
Definition: fs_layoutrecognition.h:131
Enum value: Double, which means the border is two solid lines.
Definition: fs_layoutrecognition.h:1129
LRElement GetChild(int index)
Get a child element by index.
Structure element type: H2, which represents heading with level 2.
Definition: fs_layoutrecognition.h:129
Structure element type: FENote (PDF 2.0), which is used to markup footnotes and endnotes.
Definition: fs_layoutrecognition.h:106
Enum value: Before, which means the placement for attributes Placement/RubyPosition or alignment for ...
Definition: fs_layoutrecognition.h:1000
LRContentElement()
Constructor.
Definition: fs_layoutrecognition.h:1793
Structure element type: TextContent, which means text content element.
Definition: fs_layoutrecognition.h:312
Value type: an array of enum values.
Definition: fs_layoutrecognition.h:1462
Definition: fx_basic.h:3761
Enum value: Ordered (PDF 2.0), which means ordered lists with unspecified numbering.
Definition: fs_layoutrecognition.h:1307
AttributeValueType GetAttributeValueType(AttributeType type)
Get attribute value type for a specified attribute type.
Structure element type: Formula, which represents a mathematical formula.
Definition: fs_layoutrecognition.h:284
Enum value: Top, which means top edge of the page.
Definition: fs_layoutrecognition.h:1381
Enum value: Dotten, which means the border is a series of dots.
Definition: fs_layoutrecognition.h:1108
~LRGraphicsObjectElement()
Destructor.
Definition: fs_layoutrecognition.h:1738
Attribute type only for List: ListNumbering, which represents the numbering system to be used to gene...
Definition: fs_layoutrecognition.h:838
Structure element type: Sub (PDF 2.0), which means "Sub-division of a block level element" and repres...
Definition: fs_layoutrecognition.h:280
LRStructureElement()
Constructor.
Definition: fs_layoutrecognition.h:1477
Enum value: Row, which means both row and column of a table.
Definition: fs_layoutrecognition.h:1369
Invalid enum value.
Definition: fs_layoutrecognition.h:954
Attribute type: SpaceAfter, which represents the amount of extra space following the after edge of th...
Definition: fs_layoutrecognition.h:612
Attribute type only for PrintField: checked, which represents the state of a radio button or check bo...
Definition: fs_layoutrecognition.h:863
Structure element type: TextObject, which means text graphics object element.
Definition: fs_layoutrecognition.h:296
Structure element type: BlockQuote, which means "Block quotation" and represents a portion of text co...
Definition: fs_layoutrecognition.h:74
Structure element type: Private, which means "Private element" and represents a grouping element cont...
Definition: fs_layoutrecognition.h:117
Structure element type: Sect, which means "Section" and represents a container for grouping related c...
Definition: fs_layoutrecognition.h:63
Definition: fs_common.h:336
Enum value: Square, which means solid square bullet.
Definition: fs_layoutrecognition.h:1265
Attribute type: Placement, which means the positioning of the element with respect to the enclosing r...
Definition: fs_layoutrecognition.h:466
Structure element type: RB, which means "Ruby base text" and represents the full-size text to which t...
Definition: fs_layoutrecognition.h:239
Value type: enum.
Definition: fs_layoutrecognition.h:1450
Attribute type: TPadding, which specifies an offset to account for the separation between the table c...
Definition: fs_layoutrecognition.h:702
Definition: fs_pdfpage.h:411
Attribute type: ColumnCount, which represents the number of columns in the content of the grouping el...
Definition: fs_layoutrecognition.h:789
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
Header file for common definitions and classes.
Attribute type: TextIndent, which represents the additional distance from the start edge of the BLSE,...
Definition: fs_layoutrecognition.h:635
Structure element type: Artifact, which includes other Pagination, Layout, Page and Background artifa...
Definition: fs_layoutrecognition.h:294
Structure element type: Span, which represents a generic inline portion of text having no particular ...
Definition: fs_layoutrecognition.h:197
float GetAttributeValueFloat(AttributeType type, int index)
Get a float value (specified by index) for specified attribute type.
Empty value type.
Definition: fs_layoutrecognition.h:1448
int GetChildCount()
Get the count of children elements.
~LRStructureElement()
Destructor.
Definition: fs_layoutrecognition.h:1497
Structure element type: TBody, which means "Table body row group" and represents a group of rows that...
Definition: fs_layoutrecognition.h:187
common::Progressive StartParse(common::PauseCallback *pause=0)
Start to parse layout recognition for related PDF page.
AttributeValueType
Enumeration for value type of element general layout attribute.
Definition: fs_layoutrecognition.h:1446
Enum value: TbLr (PDF 2.0), which means inline progression from top to bottom; block progression from...
Definition: fs_layoutrecognition.h:1084
Structure element type: TH, which means "Table header cell" and represents a table cell containing he...
Definition: fs_layoutrecognition.h:172
Structure element type: RT, which means "Ruby annotation text" and represents the smaller-size text t...
Definition: fs_layoutrecognition.h:244
Value type: wide string.
Definition: fs_layoutrecognition.h:1458
Enum value: Circle, which means open circular bullet.
Definition: fs_layoutrecognition.h:1259
Enum value: Watermark.
Definition: fs_layoutrecognition.h:1428
Attribute type only for PrintField: Desc, which represents the alternate name of the field,...
Definition: fs_layoutrecognition.h:871
Structure element type: TOCI, which means "Table of contents item" and represents an individual membe...
Definition: fs_layoutrecognition.h:90
Structure element type: TFoot, which means "Table footer row group" and represents a group of rows th...
Definition: fs_layoutrecognition.h:192
FX_INT32 int32
32-bit signed integer.
Definition: fs_basictypes.h:194
Definition: fs_basictypes.h:407
Structure element type: Table, which represents a two-dimensional layout of rectangular data cells,...
Definition: fs_layoutrecognition.h:161
(Reserved) Attribute type: Version, which represents schema version of layout recognition engine.
Definition: fs_layoutrecognition.h:943
Structure element type: PageObject, which means page object element.
Definition: fs_layoutrecognition.h:310
static AttributeType ParseAttributeType(String type_string)
Parse a string representation for attribute type and retrieve the enum value for this attribute type.
Enum value: Inline, which means the placement for attributes Placement/RubyPosition.
Definition: fs_layoutrecognition.h:975
Structure element type: Div, which means "Division" and represents a generic block-level element or g...
Definition: fs_layoutrecognition.h:68
Enum value: Background, which means background artifacts. Background artifacts typically serve as a b...
Definition: fs_layoutrecognition.h:1422
LRContext & operator=(const LRContext &other)
Assign operator.
Header file for PDF page related definitions and classes.
Enum value: After, which means the alignment for attribute BlockAlign or the placement for attribute ...
Definition: fs_layoutrecognition.h:1014
Enum value: Dashed, which means the border is a series of short line segments.
Definition: fs_layoutrecognition.h:1115
Enum value: Layout, which means layout artifacts. Purely cosmetic typographical or design elements su...
Definition: fs_layoutrecognition.h:1407
Structure element type: Warichu, which represents the wrapper around the entire warichu assembly.
Definition: fs_layoutrecognition.h:254
Definition: fs_layoutrecognition.h:1790
Definition: fs_pdfobject.h:800
Structure element type: THead, which means "Table header row group" and represents a group of rows th...
Definition: fs_layoutrecognition.h:182
Structure element type: ShadingContent, which means shading content element.
Definition: fs_layoutrecognition.h:318
Enum value: Groove, which means the border looks as though it were carved into the canvas.
Definition: fs_layoutrecognition.h:1136
(Reserved) Attribute type: Direction.
Definition: fs_layoutrecognition.h:931
bool operator==(const LRElement &other) const
Equal operator.
Foxit namespace.
Definition: fs_taggedpdf.h:27
Enum value: UpperAlpha, which means uppercase letters (A, B, C, ...).
Definition: fs_layoutrecognition.h:1289
Enum value: Ridge, which means the border looks as though it were coming out of the canvas (the oppos...
Definition: fs_layoutrecognition.h:1143
int GetGraphicsObjectIndex() const
Get index of related graphics object.
BYTE STRING CLASS.
Definition: fx_string.h:317
Structure element type: H6, which represents heading with level 6.
Definition: fs_layoutrecognition.h:137
Structure element type: TR, which means "Table row" and represents a row of headings or data in a tab...
Definition: fs_layoutrecognition.h:166
Enum value: Footer.
Definition: fs_layoutrecognition.h:1426
Attribute type: TextAlign, which represents the alignment of text and other content within lines of t...
Definition: fs_layoutrecognition.h:648
Enum value: Hidden, which is same as None except in terms of border conflict resolution for table ele...
Definition: fs_layoutrecognition.h:1101
Enum value: Underline, which means a line below the text.
Definition: fs_layoutrecognition.h:1228
Structure element type: H, which means "Heading" and represents a label for a subdivision of a docume...
Definition: fs_layoutrecognition.h:125
Structure element type: PathObject, which means path graphics object element.
Definition: fs_layoutrecognition.h:298
Enum value: Center, which means the alignment for attributes TextAlign/InlineAlign/RubyAlign.
Definition: fs_layoutrecognition.h:1198
Attribute type: Padding, which specifies an offset to account for the separation between the element'...
Definition: fs_layoutrecognition.h:591
Enum value: off, which means the state is off.
Definition: fs_layoutrecognition.h:1345
ARGB GetAttributeValueARGB(AttributeType type, int index)
Get an ARGB value (specified by index) for specified attribute type.
bool IsGraphicsObjectElement() const
Check whether current object is graphics object element or not.
Value type: float.
Definition: fs_layoutrecognition.h:1454
AttributeType GetSupportedAttribute(int index)
Get a supported attribute type by index.
LRStructureElement GetParentElement() const
Get the parent element.
bool IsContentElement() const
Check whether current object is content element or not.
Structure element type: Ruby, which represents the wrapper around the entire ruby assembly.
Definition: fs_layoutrecognition.h:234
Structure element type: H1, which represents heading with level 1.
Definition: fs_layoutrecognition.h:127
Definition: fs_layoutrecognition.h:1858
Value type: 32-bit signed integer.
Definition: fs_layoutrecognition.h:1452
#define NULL
The null-pointer value.
Definition: fx_system.h:780
Enum value: Outset, which means the border makes the entire box look as though it were coming out of ...
Definition: fs_layoutrecognition.h:1159
Attribute type: GlyphOrientationVertical, which specifies the orientation of glyphs when the inline-p...
Definition: fs_layoutrecognition.h:782
Definition: fx_coordinates.h:1076
LRGraphicsObjectElement GetParentGraphicsObjectElement() const
Get the parent graphics object element.
Structure element type: FormObject, which means form XObject graphics object element.
Definition: fs_layoutrecognition.h:304
Structure element type: ImageObject, which means image graphics object element.
Definition: fs_layoutrecognition.h:300
Definition: fs_layoutrecognition.h:435
Enum value: End, which means the place for attribute Placement, or the alignment for attributes TextA...
Definition: fs_layoutrecognition.h:1056
Structure element type: WP, which means "Warichu punctuation" and represents the punctuation that sur...
Definition: fs_layoutrecognition.h:265
Structure element type: Note, which represents an item of explanatory text, such as a footnote or an ...
Definition: fs_layoutrecognition.h:209
Structure element type: Document, which represents a complete document.
Definition: fs_layoutrecognition.h:49
(Reserved) Attribute type: ABox.
Definition: fs_layoutrecognition.h:937
LRStructureElement GetAttributeValueElement(AttributeType type, int index)
Get an structure element object (specified by index) for specified attribute type.
Enum value: Solid, which means the border is a single line segment.
Definition: fs_layoutrecognition.h:1122
Attribute type: TextDecorationType, which represents the text decoration, if any, to be applied to th...
Definition: fs_layoutrecognition.h:747
Enum value: Row, which means column of a table.
Definition: fs_layoutrecognition.h:1363
Structure element type: Quote, which means "Quotation" and represents an inline portion of text attri...
Definition: fs_layoutrecognition.h:203
Attribute type only for Table: ColSpan, which represents the number of columns in the enclosing table...
Definition: fs_layoutrecognition.h:885
Structure element type: RP, which means "Ruby punctuation" and represents punctuation surrounding the...
Definition: fs_layoutrecognition.h:249
ElementType
Enumeration for standard structure types.
Definition: fs_layoutrecognition.h:47
Enum value: pb, which means push button.
Definition: fs_layoutrecognition.h:1327
Structure element type: Reference, which represents a citation to content elsewhere in the document.
Definition: fs_layoutrecognition.h:214
Attribute type: StartIndent, which represents the distance from the start edge of the reference area ...
Definition: fs_layoutrecognition.h:619
Structure element type: Index, which represents a sequence of entries containing identifying text acc...
Definition: fs_layoutrecognition.h:96
LRContext(const pdf::PDFPage &page)
Constructor, from a PDF Page object.
Value type: an array of ARGB values.
Definition: fs_layoutrecognition.h:1468
Value type: an array of integer values.
Definition: fs_layoutrecognition.h:1464
Definition: fs_layoutrecognition.h:39
Structure element type: Part, which represents a large-scale division of a document.
Definition: fs_layoutrecognition.h:53
Attribute type: BorderStyle, which represents the style of an element's border.
Definition: fs_layoutrecognition.h:544
Value type: an array of elements.
Definition: fs_layoutrecognition.h:1472
Enum value: UpperRoman, which means uppercase roman numerals (I, II, III, IV, ...).
Definition: fs_layoutrecognition.h:1277
Attribute type: LineHeight, which means the element's preferred height, in the block-progression dire...
Definition: fs_layoutrecognition.h:719
Enum value: Distribute, which means the content is to be expanded to fill the available width in the ...
Definition: fs_layoutrecognition.h:1247
Attribute type: BackgroundColor, which represents the color to be used to fill the background of a ta...
Definition: fs_layoutrecognition.h:518
String StringifyType() const
Convert type (enum value) of current element to a short and memorable string (text) representation.
Enum value: LowerRoman, which means lowercase roman numerals (i, ii, iii, iv, ...).
Definition: fs_layoutrecognition.h:1283
Definition: fx_coordinates.h:771
Attribute type: Short (PDF 2.0), which contains a short form of the content of a TH structure element...
Definition: fs_layoutrecognition.h:918
Attribute type: BaselineShift, which means the distance by which the element's baseline is shifted re...
Definition: fs_layoutrecognition.h:709
Enum value: Bates (PDF2.0).
Definition: fs_layoutrecognition.h:1432
pdf::graphics::GraphicsObject * GetGraphicsObject() const
Get related graphics object.
Structure element type: LI, which means "List item" and represents an individual member of a list.
Definition: fs_layoutrecognition.h:146
bool operator!=(const LRContext &other) const
Not equal operator.
Enum value: cb, which means check box.
Definition: fs_layoutrecognition.h:1321