DocumentInfo.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/string.h>
5 #include <system/details/pointer_collection_helpers.h>
6 #include <system/collections/dictionary.h>
7 #include <cstdint>
8 
9 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Pdf
14 {
15 class Document;
16 namespace Engine
17 {
18 namespace Data
19 {
20 class IPdfDictionary;
21 } // namespace Data
22 class IPdfDocumentInfo;
23 } // namespace Engine
24 namespace Tests
25 {
26 class RegressionTests_v21_2;
27 } // namespace Tests
28 } // namespace Pdf
29 } // namespace Aspose
30 namespace System
31 {
32 class DateTime;
33 class TimeSpan;
34 } // namespace System
35 
36 namespace Aspose {
37 
38 namespace Pdf {
39 
43 class ASPOSE_PDF_SHARED_CLASS DocumentInfo final : public System::Collections::Generic::Dictionary<System::String, System::String>
44 {
45  typedef DocumentInfo ThisType;
47 
48  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
49  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
50 
51  friend class Aspose::Pdf::Document;
52  friend class Aspose::Pdf::Tests::RegressionTests_v21_2;
53 
54 public:
55 
59  ASPOSE_PDF_SHARED_API System::String get_Title();
63  ASPOSE_PDF_SHARED_API void set_Title(System::String value);
67  ASPOSE_PDF_SHARED_API System::String get_Creator();
71  ASPOSE_PDF_SHARED_API void set_Creator(System::String value);
75  ASPOSE_PDF_SHARED_API System::String get_Author();
79  ASPOSE_PDF_SHARED_API void set_Author(System::String value);
83  ASPOSE_PDF_SHARED_API System::String get_Subject();
87  ASPOSE_PDF_SHARED_API void set_Subject(System::String value);
91  ASPOSE_PDF_SHARED_API System::String get_Keywords();
95  ASPOSE_PDF_SHARED_API void set_Keywords(System::String value);
99  ASPOSE_PDF_SHARED_API System::String get_Producer();
103  ASPOSE_PDF_SHARED_API void set_Producer(System::String value);
107  ASPOSE_PDF_SHARED_API System::DateTime get_CreationDate();
111  ASPOSE_PDF_SHARED_API void set_CreationDate(System::DateTime value);
115  ASPOSE_PDF_SHARED_API System::TimeSpan get_CreationTimeZone();
119  ASPOSE_PDF_SHARED_API void set_CreationTimeZone(System::TimeSpan value);
123  ASPOSE_PDF_SHARED_API System::TimeSpan get_ModTimeZone();
127  ASPOSE_PDF_SHARED_API void set_ModTimeZone(System::TimeSpan value);
131  ASPOSE_PDF_SHARED_API System::DateTime get_ModDate();
135  ASPOSE_PDF_SHARED_API void set_ModDate(System::DateTime value);
139  ASPOSE_PDF_SHARED_API System::String get_Trapped();
143  ASPOSE_PDF_SHARED_API void set_Trapped(System::String value);
144 
149  ASPOSE_PDF_SHARED_API DocumentInfo(System::SharedPtr<Document> document);
150 
154  ASPOSE_PDF_SHARED_API void Clear() override;
160  ASPOSE_PDF_SHARED_API void Add(const System::String& key, const System::String& value) override;
165  ASPOSE_PDF_SHARED_API void Remove(System::String key);
166 
172  ASPOSE_PDF_SHARED_API System::String idx_get(const System::String& key) const override;
178  ASPOSE_PDF_SHARED_API void idx_set(const System::String& key, System::String value) override;
179 
183  ASPOSE_PDF_SHARED_API void ClearCustomData();
189  static ASPOSE_PDF_SHARED_API bool IsPredefinedKey(System::String key);
190  ASPOSE_PDF_SHARED_API void SetTemplateWeakPtr(uint32_t argument) override;
191 
192 protected:
193 
196 
197  void UpdateVersion(double version);
198 
199  virtual ASPOSE_PDF_SHARED_API ~DocumentInfo();
200 
201 private:
202 
205  double _version;
206 
207  void UpdateHashtable();
208 
209 };
210 
211 } // namespace Pdf
212 } // namespace Aspose
213 
214 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Class representing PDF document
Definition: Document.h:625
Definition: Artifact.h:67
Represents a time interval. This type should be allocated on stack and passed to functions by value o...
Definition: timespan.h:58
bool _producerUpdated
Definition: DocumentInfo.h:195
Definition: signed_info.h:13
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
bool _creatorUpdated
Definition: DocumentInfo.h:194
Definition: AFRelationship.h:4
Forward declaration of Dictionary class.
Definition: Artifact.h:73
Represents meta information of PDF document.
Definition: DocumentInfo.h:43
Represents a specific date and time value on the time continuum. This type should be allocated on sta...
Definition: date_time.h:49
Whole PDF file will be submitted.