Foxit PDF SDK
fs_pdfstructtree.h
Go to the documentation of this file.
1 
15 #ifndef FS_PDFSSTRUCTTREE_H_
16 #define FS_PDFSSTRUCTTREE_H_
17 
18 #include "common/fs_common.h"
20 
26 namespace foxit {
30 namespace pdf {
31  // forward declaration
32  class PDFPage;
33 
37 namespace objects {
41 class StructTreeEntity : public Base {
42  public:
48  typedef enum _StructTreeEntityType {
67 
68 
71 
74 
75  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
76  explicit StructTreeEntity(FS_HANDLE handle);
77 
83  StructTreeEntity(const StructTreeEntity& other);
84 
93 
101  bool operator == (const StructTreeEntity& other) const;
102 
110  bool operator != (const StructTreeEntity& other) const;
111 
119  bool IsEmpty() const;
120 
128 
134  PDFPage GetPage() const;
135 };
136 
140 class StructElement FS_FINAL : public StructTreeEntity {
141  public:
147  typedef enum _ElementInfoType {
169  } ElementInfoType;
170 
171 
174 
180  StructElement(const StructElement& other);
181 
187  StructElement(const StructTreeEntity& other);
188 
189  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
190  explicit StructElement(FS_HANDLE handle);
191 
194 
206 
212  int GetChildCount() const;
213 
222  StructTreeEntity GetChild(int index);
223 
232  void RemoveChild(int index);
233 
243  bool HasElementInfo(ElementInfoType type) const;
244 
257 
265  };
266 
270 class StructMarkedContent FS_FINAL : public StructTreeEntity {
271  public:
274 
281 
288 
289  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
290  explicit StructMarkedContent(FS_HANDLE handle);
291 
294 
302 
308  uint32 GetMCID() const;
309 
320 
327 };
328 
332 class StructObjectContent FS_FINAL : public StructTreeEntity {
333  public:
339  typedef enum _StructObjectType {
351 
352 
355 
362 
369 
370  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
371  explicit StructObjectContent(FS_HANDLE handle);
372 
375 
383 
391 
402 };
403 
418 class PDFStructTree FS_FINAL : public Base {
419  public:
428  PDFStructTree(const PDFDoc& document);
429 
431  ~PDFStructTree();
432 
438  PDFStructTree(const PDFStructTree& other);
439 
447  PDFStructTree& operator = (const PDFStructTree& other);
448 
456  bool operator == (const PDFStructTree& other) const;
464  bool operator != (const PDFStructTree& other) const;
465 
473  bool IsEmpty() const;
474 
480  int GetChildCount() const;
481 
490  StructElement GetChild(int index) const;
491 
500  void RemoveChild(int index);
501 
502  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
503  explicit PDFStructTree(FS_HANDLE handle);
504 };
505 } // namespace objects
506 } // namespace pdf
507 } // namespace foxit
508 #endif // FS_PDFSTRUCTTREE_H_
509 
Definition: fs_pdfstructtree.h:418
PDFStructTree(const PDFDoc &document)
Constructor, with parameters.
StructElement()
Constructor.
Definition: fs_pdfstructtree.h:173
Structure tree entity type: unknown.
Definition: fs_pdfstructtree.h:52
Form object.
Definition: fs_pdfstructtree.h:347
StructTreeEntity GetChild(int index)
Get a child structure tree entity by index.
String GetStructureTypeName() const
Get structure type name.
~StructMarkedContent()
Destructor.
Definition: fs_pdfstructtree.h:293
Invaild object.
Definition: fs_pdfstructtree.h:343
StructElement GetParentElement()
Get the parent structure element.
StructElement GetParentElement()
Get the parent structure element.
StructTreeEntityType
Enumeration for structure tree entity type.
Definition: fs_pdfstructtree.h:48
~StructObjectContent()
Destructor.
Definition: fs_pdfstructtree.h:374
Structure tree entity type: Element, which represents a structure element.
Definition: fs_pdfstructtree.h:56
Structure element info type: Language, which means the natural language for all text in the structure...
Definition: fs_pdfstructtree.h:156
Structure tree entity type: ObjectContent, which represents a PDF object content item,...
Definition: fs_pdfstructtree.h:65
StructObjectType GetObjectType() const
Get related object type.
WIDE STRING CLASS.
Definition: fx_string.h:1461
PDFPage GetPage() const
Get the related PDF page.
StructObjectType
Enumeration for object type.
Definition: fs_pdfstructtree.h:339
bool operator !=(const StructTreeEntity &other) const
Not equal operator.
Definition: fs_pdfstructtree.h:270
StructElement GetParentElement()
Get the parent structure element.
Definition: fs_pdfdoc.h:776
StructElement GetChild(int index) const
Get the structure element by index.
pdf::objects::PDFDictionary * GetStmOwnerDict() const
Get PDF dictionary of content stream owner.
Definition: fs_pdfstructtree.h:140
void RemoveChild(int index)
Remove the structure element by index.
Unknown Type.
Definition: fs_pdfstructtree.h:341
Annot object.
Definition: fs_pdfstructtree.h:349
bool operator !=(const PDFStructTree &other) const
Not equal operator.
~StructElement()
Destructor.
Definition: fs_pdfstructtree.h:193
Structure element info type: Title, which means the title of the structure element....
Definition: fs_pdfstructtree.h:151
Definition: fs_pdfstructtree.h:332
StructTreeEntity()
Constructor.
Definition: fs_pdfstructtree.h:70
StructTreeEntityType GetType() const
Get structure tree entity type.
bool IsEmpty() const
Check whether current object is empty or not.
pdf::objects::PDFDictionary * GetDict() const
Get PDF dictionary of related object.
PDFStructTree & operator=(const PDFStructTree &other)
Assign operator.
pdf::objects::PDFDictionary * GetStmDict() const
Get PDF dictionary of the content stream that contains the marked-content sequence.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:195
bool operator==(const StructTreeEntity &other) const
Equal operator.
Definition: fs_pdfpage.h:412
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:213
uint32 GetMCID() const
Get marked-content identifier(MCID).
Header file for common definitions and classes.
void RemoveChild(int index)
Remove a child structure tree entity by index.
Header file for PDF object related definitions and classes.
StructMarkedContent()
Constructor.
Definition: fs_pdfstructtree.h:273
Definition: fs_basictypes.h:451
bool operator==(const PDFStructTree &other) const
Equal operator.
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_pdfobject.h:850
Foxit namespace.
Definition: fs_taggedpdf.h:27
StructTreeEntity & operator=(const StructTreeEntity &other)
Assign operator.
Structure tree entity type: MarkedContent, which represents a marked-content item.
Definition: fs_pdfstructtree.h:60
int GetChildCount() const
Get count of structure elements in current PDF structure tree.
BYTE STRING CLASS.
Definition: fx_string.h:317
Structure element info type: Expanded Form, which means the expanded form of structure element.
Definition: fs_pdfstructtree.h:164
WString GetElementInfo(ElementInfoType type) const
Get the structure element information.
Definition: fs_pdfstructtree.h:41
Structure element info type: Actual Text, which means the actual text of structure element.
Definition: fs_pdfstructtree.h:168
ElementInfoType
Enumeration for structure element info type.
Definition: fs_pdfstructtree.h:147
Structure element info type: Alternative Description, which means the alternative description of stru...
Definition: fs_pdfstructtree.h:160
int GetChildCount() const
Get the count of child structure tree entities in the current structure element.
Image object.
Definition: fs_pdfstructtree.h:345
bool HasElementInfo(ElementInfoType type) const
Check whether the structure element information of a specific type exist.
StructObjectContent()
Constructor.
Definition: fs_pdfstructtree.h:354