PoDoFo 1.2.0
Loading...
Searching...
No Matches
PdfCatalog.h
1// SPDX-FileCopyrightText: 2022 Francesco Pretto <ceztko@gmail.com>
2// SPDX-License-Identifier: LGPL-2.0-or-later OR MPL-2.0
3
4#ifndef PDF_CATALOG
5#define PDF_CATALOG
6
7#include "PdfElement.h"
8
9namespace PoDoFo
10{
11 class PODOFO_API PdfCatalog final : public PdfDictionaryElement
12 {
13 friend class PdfDocument;
14
15 private:
16 PdfCatalog(PdfObject& obj);
17
18 public:
21 PdfObject* GetStructTreeRootObject();
22 const PdfObject* GetStructTreeRootObject() const;
23
26 PdfObject* GetMarkInfoObject();
27 const PdfObject* GetMarkInfoObject() const;
28
31 PdfObject* GetLangObject();
32 const PdfObject* GetLangObject() const;
33
36 void SetPageMode(nullable<PdfPageMode> mode);
37
40 PdfPageMode GetPageMode() const;
41
43 void SetUseFullScreen();
44
47 void SetPageLayout(nullable<PdfPageLayout> layout);
48
51 void SetHideToolbar();
52
55 void SetHideMenubar();
56
60 void SetHideWindowUI();
61
64 void SetFitWindow();
65
68 void SetCenterWindow();
69
75 void SetDisplayDocTitle();
76
82 void SetPrintScaling(const PdfName& scalingType);
83
89 void SetBaseURI(const std::string_view& baseURI);
90
94 void SetLanguage(const std::string_view& language);
95
99 void SetBindingDirection(const PdfName& direction);
100
103 PdfObject* GetMetadataObject();
104 const PdfObject* GetMetadataObject() const;
105 PdfObject& GetOrCreateMetadataObject();
106
107 std::string GetMetadataStreamValue() const;
108 void SetMetadataStreamValue(const std::string_view& value);
109
110 private:
114 void setViewerPreference(const PdfName& whichPref, const PdfObject& valueObj);
115
120 void setViewerPreference(const PdfName& whichPref, bool inValue);
121 };
122}
123
124#endif // PDF_CATALOG
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
PdfPageMode
Enum holding the supported of types of "PageModes" that define which (if any) of the "panels" are ope...
Definition PdfDeclarations.h:505