8#include "PdfXMPPacket.h"
12 class PdfMetadataStore;
15 class PODOFO_API PdfMetadata final
17 friend class PdfDocument;
18 friend class PdfCatalog;
21 PdfMetadata(PdfDocument& doc);
22 PdfMetadata(PdfMetadata&) =
delete;
29 void SetTitle(nullable<const PdfString&> title);
33 nullable<const PdfString&> GetTitle()
const;
37 void SetAuthor(nullable<const PdfString&> author);
41 nullable<const PdfString&> GetAuthor()
const;
45 void SetSubject(nullable<const PdfString&> subject);
49 nullable<const PdfString&> GetSubject()
const;
53 nullable<const PdfString&> GetKeywordsRaw()
const;
57 void SetKeywords(std::vector<std::string> keywords);
61 std::vector<std::string> GetKeywords()
const;
66 void SetCreator(nullable<const PdfString&> creator);
70 nullable<const PdfString&> GetCreator()
const;
74 void SetProducer(nullable<const PdfString&> producer);
78 nullable<const PdfString&> GetProducer()
const;
82 void SetCreationDate(nullable<PdfDate> date);
86 nullable<const PdfDate&> GetCreationDate()
const;
90 void SetModifyDate(nullable<PdfDate> date);
94 nullable<const PdfDate&> GetModifyDate()
const;
98 void SetTrapped(nullable<bool> trapped);
101 nullable<bool>GetTrapped()
const;
106 void SetPdfVersion(PdfVersion version);
110 PdfALevel GetPdfALevel()
const;
114 void SetPdfALevel(PdfALevel level);
116 PdfUALevel GetPdfUALevel()
const;
118 void SetPdfUALevel(PdfUALevel version);
120 nullable<const PdfString&> GetProperty(PdfAdditionalMetadata prop)
const;
122 void SetProperty(PdfAdditionalMetadata prop, nullable<const PdfString&> value);
129 void SyncXMPMetadata(
bool resetXMPPacket =
false);
133 bool TrySyncXMPMetadata();
136 std::unique_ptr<PdfXMPPacket> TakeXMPPacket();
142 PdfMetadata& operator=(PdfMetadata&) =
delete;
144 void setKeywords(nullable<const PdfString&> keywords);
145 void ensureInitialized();
146 void syncXMPMetadata(
bool resetXMPPacket);
151 PdfMetadataStore* m_metadata;
153 std::unique_ptr<PdfXMPPacket> m_packet;
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
PdfVersion
Enum to identify different versions of the PDF file format.
Definition PdfDeclarations.h:61