AbsorbedTable.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/shared_ptr.h>
5 #include <system/icomparable.h>
6 #include <cstdint>
7 
8 #include "Aspose.PDF.Cpp/Text/TableAbsorber/ITableElement.h"
9 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Pdf
14 {
15 class FlowConverter;
16 namespace PdfToMarkdown
17 {
18 namespace Extractors
19 {
20 class TablesExtractor;
21 } // namespace Extractors
22 class TableContentModel;
23 } // namespace PdfToMarkdown
24 class Rectangle;
25 namespace Text
26 {
27 class AbsorbedRow;
28 class TableAbsorber;
29 } // namespace Text
30 } // namespace Pdf
31 } // namespace Aspose
32 namespace System
33 {
34 namespace Collections
35 {
36 namespace Generic
37 {
38 template <typename> class IList;
39 template <typename> class List;
40 } // namespace Generic
41 } // namespace Collections
42 } // namespace System
43 
44 namespace Aspose {
45 
46 namespace Pdf {
47 
48 namespace Text {
49 
53 class ASPOSE_PDF_SHARED_CLASS AbsorbedTable : public Aspose::Pdf::Text::ITableElement, public System::IComparable<System::SharedPtr<Aspose::Pdf::Text::AbsorbedTable>>
54 {
55  typedef AbsorbedTable ThisType;
58 
59  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
60  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
61 
63  friend class Aspose::Pdf::PdfToMarkdown::Extractors::TablesExtractor;
64  friend class Aspose::Pdf::PdfToMarkdown::TableContentModel;
65  friend class Aspose::Pdf::FlowConverter;
66 
67 public:
68 
76  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Rectangle> get_Rectangle() override;
80  ASPOSE_PDF_SHARED_API int32_t get_PageNum() const;
81 
92  ASPOSE_PDF_SHARED_API int32_t CompareTo(System::SharedPtr<AbsorbedTable> other) override;
93 
94 protected:
95 
99  ASPOSE_PDF_SHARED_API void set_PageNum(int32_t value);
100 
105  void SetRectangle(System::SharedPtr<Aspose::Pdf::Rectangle> rectangle);
106 
112 
113  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(AbsorbedTable, CODEPORTING_ARGS(System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<AbsorbedRow>>> rows));
114 
120 
121  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(AbsorbedTable, CODEPORTING_ARGS(System::SharedPtr<AbsorbedRow> row));
126  void AddRow(System::SharedPtr<AbsorbedRow> row);
130  void RecomputeRectangle();
131 
132 private:
133 
136  int32_t _pageNum;
137 
138 };
139 
140 } // namespace Text
141 } // namespace Pdf
142 } // namespace Aspose
143 
144 
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Definition: Artifact.h:67
This interface represents an element of existing table extracted by TableAbsorber.
Definition: ITableElement.h:25
Defines a method that compares two objects. Objects of this class should only be allocated using Syst...
Definition: icomparable.h:15
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Represents a text type.
Definition: AFRelationship.h:4
Represents table that exist on the page
Definition: AbsorbedTable.h:53
List forward declaration.
Definition: Artifact.h:74
Represents an absorber object of table elements. Performs search and provides access to search result...
Definition: TableAbsorber.h:63
Whole PDF file will be submitted.