HeadingLevels.h
1 #pragma once
2 
3 #include <system/object.h>
4 #include <cstdint>
5 
6 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
7 
8 namespace Aspose
9 {
10 namespace Pdf
11 {
12 namespace PdfToMarkdown
13 {
14 class DocumentObjectModel;
15 class HeuristicHeaderDetector;
16 } // namespace PdfToMarkdown
17 } // namespace Pdf
18 } // namespace Aspose
19 namespace System
20 {
21 namespace Collections
22 {
23 namespace Generic
24 {
25 template <typename> class ICollection;
26 template <typename> class IList;
27 template <typename> class List;
28 } // namespace Generic
29 } // namespace Collections
30 } // namespace System
31 
32 namespace Aspose {
33 
34 namespace Pdf {
35 
36 namespace PdfToMarkdown {
37 
41 class ASPOSE_PDF_SHARED_CLASS HeadingLevels : public System::Object
42 {
43  typedef HeadingLevels ThisType;
44  typedef System::Object BaseType;
45 
46  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
47  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
48 
49  friend class Aspose::Pdf::PdfToMarkdown::HeuristicHeaderDetector;
50  friend class Aspose::Pdf::PdfToMarkdown::DocumentObjectModel;
51 
52 public:
53 
57  ASPOSE_PDF_SHARED_API System::SharedPtr<System::Collections::Generic::IList<double>> get_AllLevels();
58 
62  ASPOSE_PDF_SHARED_API HeadingLevels();
71  ASPOSE_PDF_SHARED_API HeadingLevels(double threshold);
72 
79  ASPOSE_PDF_SHARED_API void AddLevels(System::SharedPtr<System::Collections::Generic::ICollection<double>> fontSizes);
80 
81 protected:
82 
90  int32_t EstimateLevel(double fontSize);
97  bool FindLevel(double fontSize, int32_t& level);
98 
99 private:
100 
101  static const double DefaultThreshold;
103  double _threshold;
104 
105  bool IsFontSizeWithinRange(double fontSize);
106 
107 };
108 
109 } // namespace PdfToMarkdown
110 } // namespace Pdf
111 } // namespace Aspose
112 
113 
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:64
Definition: Artifact.h:67
Represents a class to work with header levels based on font size.
Definition: HeadingLevels.h:41
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Definition: AFRelationship.h:4
Interface of collection of elements. Objects of this class should only be allocated using System::Mak...
Definition: Collection.h:41
Whole PDF file will be submitted.