ILSElement.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/string.h>
5 
6 #include "Aspose.PDF.Cpp/Tagged/LogicalStructure/StructureElement.h"
7 #include "Aspose.PDF.Cpp/Tagged/LogicalStructure/ITextElement.h"
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Annotations
15 {
16 class Annotation;
17 } // namespace Annotations
18 namespace Engine
19 {
20 namespace Data
21 {
22 class IPdfPrimitive;
23 } // namespace Data
24 } // namespace Engine
25 class Hyperlink;
26 namespace LogicalStructure
27 {
28 class AnnotationElement;
29 class AnnotElement;
30 class BibEntryElement;
31 class CodeElement;
32 class Element;
33 class ILSTextElement;
34 class LinkElement;
35 class MCRElement;
36 class NoteElement;
37 class QuoteElement;
38 class ReferenceElement;
39 class RubyElement;
40 class RubyRBElement;
41 class RubyRPElement;
42 class RubyRTElement;
43 class SpanElement;
44 class StructureTextState;
45 class StructureTypeStandard;
46 class WarichuElement;
47 class WarichuWPElement;
48 class WarichuWTElement;
49 } // namespace LogicalStructure
50 class PageGenerator;
51 namespace Tagged
52 {
53 class TaggedContent;
54 class TaggedContext;
55 } // namespace Tagged
56 namespace Tests
57 {
58 namespace LogicalStructure
59 {
60 class AnnotElementTests;
61 class BibEntryElementTests;
62 class CodeElementTests;
63 class QuoteElementTests;
64 class ReferenceElementTests;
65 class RubyElementTests;
66 class RubyRBElementTests;
67 class RubyRPElementTests;
68 class RubyRTElementTests;
69 class WarichuElementTests;
70 class WarichuWPElementTests;
71 class WarichuWTElementTests;
72 } // namespace LogicalStructure
73 } // namespace Tests
74 } // namespace Pdf
75 } // namespace Aspose
76 namespace System
77 {
78 namespace Collections
79 {
80 namespace Generic
81 {
82 template <typename> class List;
83 } // namespace Generic
84 } // namespace Collections
85 } // namespace System
86 
87 namespace Aspose {
88 
89 namespace Pdf {
90 
91 namespace LogicalStructure {
92 
93 // Structure Element Category
97 class ASPOSE_PDF_SHARED_CLASS ILSElement : public Aspose::Pdf::LogicalStructure::StructureElement
98 {
99  typedef ILSElement ThisType;
101 
102  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
103  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
104 
111 
112 protected:
113 
115 
116 };
117 
122 {
123  typedef ILSTextElement ThisType;
126 
127  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
128  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
129 
134 
135 public:
136 
142 
147  ASPOSE_PDF_SHARED_API void SetText(System::String text) override;
148 
149 protected:
150 
152 
153  virtual ASPOSE_PDF_SHARED_API ~ILSTextElement();
154 
155 private:
156 
158 
159 };
160 
164 class ASPOSE_PDF_SHARED_CLASS AnnotationElement : public Aspose::Pdf::LogicalStructure::ILSElement
165 {
166  typedef AnnotationElement ThisType;
168 
169  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
170  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
171 
174  friend class Aspose::Pdf::PageGenerator;
175 
176 public:
177 
182  ASPOSE_PDF_SHARED_API System::String get_AlternateDescriptions() const;
187  ASPOSE_PDF_SHARED_API void set_AlternateDescriptions(System::String value);
188 
189 protected:
190 
192 
194 
195  ASPOSE_PDF_SHARED_API void Save() override;
196 
197 private:
198 
200  System::String _alternateDescriptions;
201 
202 };
203 
204 // ILSE's Children
208 class ASPOSE_PDF_SHARED_CLASS SpanElement final : public Aspose::Pdf::LogicalStructure::ILSTextElement
209 {
210  typedef SpanElement ThisType;
212 
213  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
214  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
215 
216  friend class Aspose::Pdf::Tagged::TaggedContent;
217 
218 protected:
219 
221 
222  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(SpanElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
223 
224 };
225 
229 class ASPOSE_PDF_SHARED_CLASS QuoteElement final : public Aspose::Pdf::LogicalStructure::ILSTextElement
230 {
231  typedef QuoteElement ThisType;
233 
234  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
235  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
236 
237  friend class Aspose::Pdf::Tagged::TaggedContent;
238  friend class Aspose::Pdf::Tests::LogicalStructure::QuoteElementTests;
239 
240 protected:
241 
243 
244  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(QuoteElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
245 
246 };
247 
251 class ASPOSE_PDF_SHARED_CLASS NoteElement final : public Aspose::Pdf::LogicalStructure::ILSTextElement
252 {
253  typedef NoteElement ThisType;
255 
256  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
257  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
258 
259  friend class Aspose::Pdf::Tagged::TaggedContent;
260 
261 protected:
262 
264 
265  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(NoteElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
266 
267 };
268 
272 class ASPOSE_PDF_SHARED_CLASS ReferenceElement final : public Aspose::Pdf::LogicalStructure::ILSElement
273 {
274  typedef ReferenceElement ThisType;
276 
277  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
278  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
279 
280  friend class Aspose::Pdf::Tagged::TaggedContent;
281  friend class Aspose::Pdf::Tests::LogicalStructure::ReferenceElementTests;
282 
283 protected:
284 
286 
287  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ReferenceElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
288 
289 };
290 
294 class ASPOSE_PDF_SHARED_CLASS BibEntryElement final : public Aspose::Pdf::LogicalStructure::ILSElement
295 {
296  typedef BibEntryElement ThisType;
298 
299  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
300  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
301 
302  friend class Aspose::Pdf::Tagged::TaggedContent;
303  friend class Aspose::Pdf::Tests::LogicalStructure::BibEntryElementTests;
304 
305 protected:
306 
308 
309  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(BibEntryElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
310 
311 };
312 
316 class ASPOSE_PDF_SHARED_CLASS CodeElement final : public Aspose::Pdf::LogicalStructure::ILSTextElement
317 {
318  typedef CodeElement ThisType;
320 
321  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
322  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
323 
324  friend class Aspose::Pdf::Tagged::TaggedContent;
325  friend class Aspose::Pdf::Tests::LogicalStructure::CodeElementTests;
326 
327 protected:
328 
330 
331  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(CodeElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
332 
333 };
334 
339 {
340  typedef LinkElement ThisType;
343 
344  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
345  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
346 
347  friend class Aspose::Pdf::Tagged::TaggedContent;
348 
349 public:
350 
354  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Hyperlink> get_Hyperlink() const;
358  ASPOSE_PDF_SHARED_API void set_Hyperlink(System::SharedPtr<Aspose::Pdf::Hyperlink> value);
363  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::LogicalStructure::StructureTextState> get_StructureTextState() override;
364 
369  ASPOSE_PDF_SHARED_API void SetText(System::String text) override;
370 
371 protected:
372 
374 
375  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(LinkElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
376  ASPOSE_PDF_SHARED_API void PreSave() override;
377 
378  virtual ASPOSE_PDF_SHARED_API ~LinkElement();
379 
380 private:
381 
385 
386  void collectMcrElementList(System::SharedPtr<Element> parentElement = nullptr);
387 
388 };
389 
393 class ASPOSE_PDF_SHARED_CLASS AnnotElement final : public Aspose::Pdf::LogicalStructure::AnnotationElement
394 {
395  typedef AnnotElement ThisType;
397 
398  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
399  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
400 
401  friend class Aspose::Pdf::Tagged::TaggedContent;
402  friend class Aspose::Pdf::Tests::LogicalStructure::AnnotElementTests;
403 
404 protected:
405 
407 
408  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(AnnotElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
409 
410 };
411 
415 class ASPOSE_PDF_SHARED_CLASS RubyElement final : public Aspose::Pdf::LogicalStructure::ILSElement
416 {
417  typedef RubyElement ThisType;
419 
420  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
421  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
422 
423  friend class Aspose::Pdf::Tagged::TaggedContent;
424  friend class Aspose::Pdf::Tests::LogicalStructure::RubyElementTests;
425 
426 protected:
427 
429 
430  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(RubyElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
431 
432 };
433 
437 class ASPOSE_PDF_SHARED_CLASS WarichuElement final : public Aspose::Pdf::LogicalStructure::ILSElement
438 {
439  typedef WarichuElement ThisType;
441 
442  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
443  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
444 
445  friend class Aspose::Pdf::Tagged::TaggedContent;
446  friend class Aspose::Pdf::Tests::LogicalStructure::WarichuElementTests;
447 
448 protected:
449 
451 
452  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(WarichuElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
453 
454 };
455 
456 // Ruby and Warichu child Elements DRAFT
461 {
462  typedef RubyChildElement ThisType;
464 
465  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
466  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
467 
471 
472 protected:
473 
475 
476 };
477 
482 {
483  typedef WarichuChildElement ThisType;
485 
486  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
487  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
488 
491 
492 protected:
493 
495 
496 };
497 
501 class ASPOSE_PDF_SHARED_CLASS RubyRBElement final : public Aspose::Pdf::LogicalStructure::RubyChildElement
502 {
503  typedef RubyRBElement ThisType;
505 
506  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
507  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
508 
509  friend class Aspose::Pdf::Tagged::TaggedContent;
510  friend class Aspose::Pdf::Tests::LogicalStructure::RubyRBElementTests;
511 
512 protected:
513 
515 
516  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(RubyRBElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
517 
518 };
519 
523 class ASPOSE_PDF_SHARED_CLASS RubyRTElement final : public Aspose::Pdf::LogicalStructure::RubyChildElement
524 {
525  typedef RubyRTElement ThisType;
527 
528  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
529  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
530 
531  friend class Aspose::Pdf::Tagged::TaggedContent;
532  friend class Aspose::Pdf::Tests::LogicalStructure::RubyRTElementTests;
533 
534 protected:
535 
537 
538  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(RubyRTElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
539 
540 };
541 
545 class ASPOSE_PDF_SHARED_CLASS RubyRPElement final : public Aspose::Pdf::LogicalStructure::RubyChildElement
546 {
547  typedef RubyRPElement ThisType;
549 
550  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
551  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
552 
553  friend class Aspose::Pdf::Tagged::TaggedContent;
554  friend class Aspose::Pdf::Tests::LogicalStructure::RubyRPElementTests;
555 
556 protected:
557 
559 
560  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(RubyRPElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
561 
562 };
563 
567 class ASPOSE_PDF_SHARED_CLASS WarichuWTElement final : public Aspose::Pdf::LogicalStructure::WarichuChildElement
568 {
569  typedef WarichuWTElement ThisType;
571 
572  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
573  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
574 
575  friend class Aspose::Pdf::Tagged::TaggedContent;
576  friend class Aspose::Pdf::Tests::LogicalStructure::WarichuWTElementTests;
577 
578 protected:
579 
581 
582  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(WarichuWTElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
583 
584 };
585 
589 class ASPOSE_PDF_SHARED_CLASS WarichuWPElement final : public Aspose::Pdf::LogicalStructure::WarichuChildElement
590 {
591  typedef WarichuWPElement ThisType;
593 
594  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
595  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
596 
597  friend class Aspose::Pdf::Tagged::TaggedContent;
598  friend class Aspose::Pdf::Tests::LogicalStructure::WarichuWPElementTests;
599 
600 protected:
601 
603 
604  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(WarichuWPElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
605 
606 };
607 
608 } // namespace LogicalStructure
609 } // namespace Pdf
610 } // namespace Aspose
611 
612 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
virtual ASPOSE_PDF_SHARED_API ~ILSTextElement()
Represents Reference structure element in logical structure.
Definition: ILSElement.h:272
Represents BibEntry structure element in logical structure.
Definition: ILSElement.h:294
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
ILSTextElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity)
Represents Ruby structure element in logical structure.
Definition: ILSElement.h:415
Represents WP structure element in logical structure of the Warichu.
Definition: ILSElement.h:589
Represents a base class for children elements of the Warichu in logical structure.
Definition: ILSElement.h:481
Represents WT structure element in logical structure of the Warichu.
Definition: ILSElement.h:567
Represents Quote structure element in logical structure.
Definition: ILSElement.h:229
Represents a base class for structure elements in logical structure.
Definition: StructureElement.h:71
Represents Span structure element in logical structure.
Definition: ILSElement.h:208
Represents RP structure element in logical structure of the Ruby.
Definition: ILSElement.h:545
Represents Code structure element in logical structure.
Definition: ILSElement.h:316
Represents a base class for annotation structure elements in logical structure.
Definition: ILSElement.h:164
Represents RB structure element in logical structure of the Ruby.
Definition: ILSElement.h:501
WarichuChildElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity)
ILSElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity)
Definition: signed_info.h:13
Represents Note structure element in logical structure.
Definition: ILSElement.h:251
ASPOSE_PDF_SHARED_API System::SharedPtr< Aspose::Pdf::LogicalStructure::StructureTextState > get_StructureTextState() override
Gets T:/Aspose::Pdf::LogicalStructure::StructureTextState object for current element.
Represents RT structure element in logical structure of the Ruby.
Definition: ILSElement.h:523
ASPOSE_PDF_SHARED_API void SetText(System::String text) override
Appends text content to current text element.
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
RubyChildElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity)
Represents a base class for inline-level structure elements in logical structure. ...
Definition: ILSElement.h:97
Represents a base class for element in logical structure.
Definition: Element.h:98
Represents Warichu structure element in logical structure.
Definition: ILSElement.h:437
Represents a base class for children elements of the Ruby in logical structure.
Definition: ILSElement.h:460
Interface for presenting text structure elements.
Definition: ITextElement.h:32
Represents Annot structure element in logical structure.
Definition: ILSElement.h:393
This value is used for internal purposes and is not intended to be used directly from your code...
Whole PDF file will be submitted.
Represents a base class for inline-level text structure elements in logical structure.
Definition: ILSElement.h:121