PoDoFo 1.2.0
Loading...
Searching...
No Matches
PdfMetadataStore.h
1// SPDX-FileCopyrightText: 2021 Francesco Pretto <ceztko@gmail.com>
2// SPDX-License-Identifier: LGPL-2.0-or-later OR MPL-2.0
3
4#ifndef PDF_METADATA_STORE
5#define PDF_METADATA_STORE
6
7#include "PdfString.h"
8#include "PdfDate.h"
9
10namespace PoDoFo
11{
12 class PODOFO_API PdfMetadataStore final
13 {
14 public:
15 PdfMetadataStore();
16 public:
17 nullable<PdfString> Title;
18 nullable<PdfString> Author;
19 nullable<PdfString> Subject;
20 nullable<PdfString> Keywords;
21 nullable<PdfString> Creator;
22 nullable<PdfString> Producer;
23 nullable<PdfDate> CreationDate;
24 nullable<PdfDate> ModDate;
25 nullable<bool> Trapped;
26 PdfVersion Version;
27 PdfALevel PdfaLevel;
28 PdfUALevel PdfuaLevel;
29 public:
30 const PdfString* GetMetadata(PdfAdditionalMetadata prop) const;
31 void SetMetadata(PdfAdditionalMetadata prop, const PdfString* value);
32 void Reset();
33 public:
34 const std::unordered_map<PdfAdditionalMetadata, PdfString>* GetAdditionalMetadata() const { return m_additionalMetadata.get(); }
35 private:
36 std::unique_ptr<std::unordered_map<PdfAdditionalMetadata, PdfString>> m_additionalMetadata;
37 };
38}
39
40namespace std
41{
42 template<>
43 struct hash<PoDoFo::PdfAdditionalMetadata>
44 {
45 size_t operator()(PoDoFo::PdfAdditionalMetadata prop) const noexcept
46 {
47 return (size_t)prop;
48 }
49 };
50}
51
52#endif // PDF_METADATA_STORE
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