Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Podofo

Download as pdf or txt
Download as pdf or txt
You are on page 1of 580

PoDoFo

0.9.4

Generated by Doxygen 1.8.9.1

Tue Jun 14 2016 21:04:30


Contents

1 Main Page 1

2 Pdf3rdPartyForwardDecl.h 3

3 PdfCompilerCompat Header 5

4 (Codingstyle) 7

5 Namespace Index 13
5.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Hierarchical Index 15
6.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7 Class Index 19
7.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

8 File Index 23
8.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

9 Namespace Documentation 25
9.1 PoDoFo Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9.1.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.1 ELogSeverity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.2 EPdfAcroFormDefaulAppearance . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.3 EPdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.4 EPdfAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.5 EPdfAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.6 EPdfAnnotationFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.2.7 EPdfColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.1.2.8 EPdfContentsType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.1.2.9 EPdfDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.1.2.10 EPdfDestinationType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
iv CONTENTS

9.1.2.11 EPdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.1.2.12 EPdfField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.1.2.13 EPdfFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.1.2.14 EPdfFontType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1.2.15 EPdfFunctionType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1.2.16 EPdfHighlightingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1.2.17 EPdfLineCapStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1.2.18 EPdfLineJoinStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1.2.19 EPdfOutlineFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.1.2.20 EPdfPageLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.1.2.21 EPdfPageMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.1.2.22 EPdfPageSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.1.2.23 EPdfStrokeStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.2.24 EPdfTextRenderingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.2.25 EPdfTilingPatternType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.2.26 EPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.2.27 EPdfVerticalAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.2.28 EPdfWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.1 PDF_MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.2 PDF_MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.3 PdfLocaleImbue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.4 podofo_calloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.5 podofo_free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.6 podofo_is_little_endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.1.3.7 podofo_malloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.1.3.8 podofo_realloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.1.4 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.1.4.1 ePdfVersion_Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

10 Class Documentation 39
10.1 PoDoFo::MD5Context Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.2 PoDoFo::NamedColorComparatorPredicate Class Reference . . . . . . . . . . . . . . . . . . . . 39
10.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3 PoDoFo::PdfVecObjects::Observer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.3.2.1 BeginAppendStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.3.2.2 EndAppendStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS v

10.3.2.3 ParentDestructed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.4 PoDoFo::PdfAction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.4.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.2.1 PdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.2.2 PdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.2.3 PdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.3.1 AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.3.2 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.3.3 GetURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4.3.4 HasURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.4.3.5 SetURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.5 PoDoFo::PdfAnnotation Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.2.1 PdfAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.2.2 PdfAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.3.1 GetAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.3.2 GetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.3.3 GetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.3.4 GetDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.3.5 GetFileAttachement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.3.6 GetFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.7 GetOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.8 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.9 GetQuadPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.10 GetRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.11 GetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.3.12 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.13 HasAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.14 HasAppearanceStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.15 HasDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.16 HasFileAttachement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.17 SetAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.18 SetAppearanceStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.5.3.19 SetBorderStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.5.3.20 SetBorderStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.5.3.21 SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


vi CONTENTS

10.5.3.22 SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.5.3.23 SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.5.3.24 SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.25 SetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.26 SetDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.27 SetFileAttachement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.28 SetFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.29 SetOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5.3.30 SetQuadPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.5.3.31 SetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.6 PoDoFo::PdfArray Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.2.1 PdfArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.2.2 PdfArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.2.3 PdfArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.3.1 back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6.3.2 back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.3 begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.4 begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.5 Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.6 ContainsString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.7 empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.8 end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.9 end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.6.3.10 front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.11 front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.12 GetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.13 GetStringIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.14 IsDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.15 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.16 push_back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.6.3.17 rbegin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.18 rbegin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.19 rend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.20 rend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.21 resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.22 SetDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.6.3.23 size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS vii

10.6.3.24 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.7 PoDoFo::PdfAscii85Filter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.7.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.7.2.1 BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.7.2.2 BeginEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10.7.2.3 CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10.7.2.4 CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10.7.2.5 DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10.7.2.6 EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.7.2.7 EndDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.7.2.8 EndEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.7.2.9 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.8 PoDoFo::PdfAxialShadingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.8.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.8.2.1 PdfAxialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.8.2.2 PdfAxialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.9 PoDoFo::PdfBufferOutputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.2.1 PdfBufferOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10.9.3.2 GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.9.3.3 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.10PoDoFo::PdfCanvas Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.10.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.2.1 ∼PdfCanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.1 AddColorResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.2 AddResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.3 GetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.4 GetContentsForAppending . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.5 GetPageSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10.3.6 GetProcSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.10.3.7 GetResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.11PoDoFo::PdfCheckBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


viii CONTENTS

10.11.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


10.11.2.1 PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.11.2.2 PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.2.3 PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.2.4 PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.2.5 PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.3.1 IsChecked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.3.2 SetAppearanceChecked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.3.3 SetAppearanceUnchecked . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.11.3.4 SetChecked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.12PoDoFo::PdfColor Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.1 PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.2 PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.3 PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.4 PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.5 PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.12.2.6 ∼PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3.1 BuildColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3.2 ConvertToCMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3.3 ConvertToGrayScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3.4 ConvertToRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.12.3.5 FromArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.12.3.6 FromString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.12.3.7 GetAlternateColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.12.3.8 GetBlack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.12.3.9 GetBlue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.12.3.10GetCieA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.12.3.11GetCieB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.12.3.12GetCieL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.12.3.13GetColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.12.3.14GetColorSpaceForName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.12.3.15GetCyan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.12.3.16GetDensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.12.3.17GetGrayScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.12.3.18GetGreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.12.3.19GetMagenta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS ix

10.12.3.20GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.12.3.21GetNameForColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.12.3.22GetRed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.12.3.23GetYellow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.12.3.24IsCieLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.25IsCMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.26IsGrayScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.27IsRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.28IsSeparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.29operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.30operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.12.3.31operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.12.3.32ToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.13PoDoFo::PdfComboBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.13.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.2.1 PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.2.2 PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.2.3 PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.2.4 PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.2.5 PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.3.1 IsEditable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.13.3.2 SetEditable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.14PoDoFo::PdfContents Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10.14.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2.1 PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2.2 PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2.3 PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2.4 PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.2.5 ∼PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.14.3.1 GetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.14.3.2 GetContentsForAppending . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.15PoDoFo::PdfContentsTokenizer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.15.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.15.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.15.2.1 PdfContentsTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.15.2.2 PdfContentsTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


x CONTENTS

10.15.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76


10.15.3.1 GetNextToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
10.15.3.2 ReadNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
10.16PoDoFo::PdfData Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.16.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.16.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.16.2.1 PdfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.16.2.2 PdfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.16.2.3 PdfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.16.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.16.3.1 data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.16.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.16.3.3 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.17PoDoFo::PdfDataType Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.17.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.17.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.17.2.1 PdfDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.17.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.1 AssertMutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.2 GetImmutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.3 IsDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.4 SetDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.5 SetImmutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.17.3.6 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.18PoDoFo::PdfDate Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.18.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.18.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.18.2.1 PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.18.2.2 PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.18.2.3 PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.18.2.4 ∼PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.18.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.18.3.1 GetTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.18.3.2 IsValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.18.3.3 ToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.19PoDoFo::PdfDestination Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.19.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.19.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.19.2.1 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.19.2.2 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xi

10.19.2.3 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.19.2.4 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.19.2.5 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.2.6 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.2.7 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.2.8 PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.3.1 AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.19.3.2 GetArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.3 GetArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.4 GetDValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.5 GetLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.6 GetObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.7 GetObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.19.3.8 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.19.3.9 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.19.3.10GetRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.19.3.11GetTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.19.3.12GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.19.3.13GetZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.19.3.14operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10.20PoDoFo::PdfDeviceInputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.20.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.20.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.20.2.1 PdfDeviceInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.20.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.20.3.1 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.21PoDoFo::PdfDeviceOutputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.2.1 PdfDeviceOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.21.3.2 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.22PoDoFo::PdfDictionary Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.22.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.22.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.22.2.1 PdfDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.22.2.2 PdfDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.22.2.3 ∼PdfDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xii CONTENTS

10.22.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92


10.22.3.1 AddKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.22.3.2 AddKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.22.3.3 Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.22.3.4 GetKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.22.3.5 GetKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.22.3.6 GetKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.22.3.7 GetKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.22.3.8 HasKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.22.3.9 IsDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.22.3.10operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.22.3.11operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.22.3.12operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.22.3.13RemoveKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.22.3.14SetDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.22.3.15Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.22.3.16Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.23PoDoFo::PdfDifferenceEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.23.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.23.2 Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.23.2.1 EBaseEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.23.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.23.3.1 PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.23.3.2 PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.23.3.3 PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.23.3.4 PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.23.3.5 PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.23.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.23.4.1 AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.23.4.2 ConvertToEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.23.4.3 ConvertToUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.23.4.4 GetCharCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.23.4.5 GetDifferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.23.4.6 GetID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.23.4.7 IsAutoDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.23.4.8 IsSingleByteEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.23.4.9 NameToUnicodeID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.23.4.10UnicodeIDToName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.24PoDoFo::PdfDocEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.24.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xiii

10.24.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


10.24.2.1 PdfDocEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.24.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.24.3.1 GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.25PoDoFo::PdfDocument Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.25.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.2.1 ∼PdfDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.2.2 PdfDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.3.1 AddNamedDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.3.2 Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.25.3.3 AttachFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.25.3.4 Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.25.3.5 CreateDuplicateFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.25.3.6 CreateFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.25.3.7 CreateFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.25.3.8 CreateFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.25.3.9 CreateFontSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.25.3.10CreatePage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.25.3.11CreatePages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.25.3.12EmbedSubsetFonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.25.3.13FillXObjectFromDocumentPage . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.25.3.14FillXObjectFromExistingPage . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.25.3.15FillXObjectFromPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.25.3.16FixObjectReferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.25.3.17GetAcroForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.25.3.18GetAttachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.25.3.19GetCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.25.3.20GetCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.21GetFontLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.22GetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.23GetNamedObjectFromCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.24GetNamesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.25GetObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.25.3.26GetObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.25.3.27GetOutlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.25.3.28GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.25.3.29GetPageCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.25.3.30GetPageMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xiv CONTENTS

10.25.3.31GetPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.25.3.32GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.33GetTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.34GetTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.35GetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.36InitPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.37InsertExistingPageAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.25.3.38InsertPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.25.3.39IsAccessibilityAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.25.3.40IsCopyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.25.3.41IsDocAssemblyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.25.3.42IsEditAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.25.3.43IsEditNotesAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.25.3.44IsFillAndSignAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.25.3.45IsHighPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.25.3.46IsLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.47IsPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.48SetBaseURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.49SetBindingDirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.50SetCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.51SetCenterWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.52SetDisplayDocTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.25.3.53SetFitWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.54SetFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.55SetHideMenubar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.56SetHideToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.57SetHideWindowUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.58SetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.59SetLanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.60SetPageLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.61SetPageMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.62SetPrintScaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.25.3.63SetTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.25.3.64SetUseFullScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.25.3.65SetViewerPreference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.25.3.66SetViewerPreference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.26PoDoFo::PdfElement Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.26.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
10.26.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.26.2.1 PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xv

10.26.2.2 PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122


10.26.2.3 PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.26.2.4 PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.26.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.26.3.1 CreateObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.26.3.2 GetNonConstObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.26.3.3 GetObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.26.3.4 GetObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.26.3.5 TypeNameForIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.26.3.6 TypeNameToIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.27PoDoFo::PdfEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10.27.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10.27.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
10.27.2.1 PdfEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
10.27.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.27.3.1 AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.27.3.2 begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.27.3.3 ConvertToEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.27.3.4 ConvertToUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.27.3.5 end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.27.3.6 GetCharCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.27.3.7 GetFirstChar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.27.3.8 GetID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.27.3.9 GetLastChar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.27.3.10operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.27.3.11operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.28PoDoFo::PdfEncodingDifference Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.28.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.28.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.28.2.1 PdfEncodingDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.28.2.2 PdfEncodingDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3.1 AddDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3.2 AddDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3.3 Contains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3.4 GetCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.28.3.5 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.28.3.6 ToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.29PoDoFo::PdfEncodingFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.29.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xvi CONTENTS

10.29.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130


10.29.2.1 FreeGlobalEncodingInstances . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.29.2.2 GlobalIdentityEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.29.2.3 GlobalIso88592EncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.4 GlobalMacExpertEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.5 GlobalMacRomanEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.6 GlobalPdfDocEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.7 GlobalStandardEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.8 GlobalSymbolEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.29.2.9 GlobalWin1250EncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.29.2.10GlobalWinAnsiEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.29.2.11GlobalZapfDingbatsEncodingInstance . . . . . . . . . . . . . . . . . . . . . . . 132
10.30PoDoFo::PdfEncodingObjectFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 132
10.30.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.30.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.30.2.1 CreateEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.31PoDoFo::PdfEncrypt Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.31.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.31.2 Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.31.2.1 EPdfEncryptAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.31.2.2 EPdfKeyLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.31.2.3 EPdfPermissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.31.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.3.1 ∼PdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.4.1 Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.4.2 CreateEncryptionDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.4.3 CreateEncryptionInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.31.4.4 CreateEncryptionOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.31.4.5 CreatePdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.31.4.6 CreatePdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.31.4.7 CreatePdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.31.4.8 Encrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.31.4.9 GenerateEncryptionKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.31.4.10GetEnabledEncryptionAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.31.4.11GetEncryptAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.31.4.12IsAccessibilityAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.31.4.13IsCopyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
10.31.4.14IsDocAssemblyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
10.31.4.15IsEditAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xvii

10.31.4.16IsEditNotesAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
10.31.4.17IsEncryptionEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.31.4.18IsFillAndSignAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.31.4.19IsHighPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.31.4.20IsPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.31.4.21SetCurrentReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.31.4.22SetEnabledEncryptionAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.32PoDoFo::PdfEncryptAESBase Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.32.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.33PoDoFo::PdfEncryptAESV2 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.33.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.33.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.33.2.1 Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.33.2.2 CreateEncryptionInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.33.2.3 CreateEncryptionOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.33.2.4 GenerateEncryptionKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.34PoDoFo::PdfEncryptRC4 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.34.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.34.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.34.2.1 Authenticate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.34.2.2 CreateEncryptionInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.34.2.3 CreateEncryptionOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.34.2.4 GenerateEncryptionKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.35PoDoFo::PdfEncryptRC4Base Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.35.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.36PoDoFo::PdfError Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.36.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.36.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.36.2.1 PdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.36.2.2 PdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.36.2.3 PdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.1 AddToCallstack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.2 DebugEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.3 DebugMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.4 EnableDebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.5 EnableLogging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.36.3.6 ErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.36.3.7 ErrorName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.36.3.8 GetCallstack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xviii CONTENTS

10.36.3.9 GetError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


10.36.3.10IsError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.36.3.11LoggingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.36.3.12LogMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.36.3.13LogMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.36.3.14operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.36.3.15operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.36.3.16operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.36.3.17operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.36.3.18operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.36.3.19operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.36.3.20PrintErrorMsg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.36.3.21SetError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.36.3.22SetErrorInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.36.3.23SetErrorInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.36.3.24SetLogMessageCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.36.3.25what . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.37PoDoFo::PdfExponentialFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.37.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.37.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.37.2.1 PdfExponentialFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.37.2.2 PdfExponentialFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.38PoDoFo::PdfExtension Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.38.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.39PoDoFo::PdfExtGState Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.39.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.39.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.39.2.1 PdfExtGState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.39.2.2 PdfExtGState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.39.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.1 GetIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.2 SetBlendMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.3 SetFillOpacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.4 SetFillOverprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.5 SetFrequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.6 SetNonZeroOverprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.39.3.7 SetOverprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.39.3.8 SetRenderingIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.39.3.9 SetStrokeOpacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.39.3.10SetStrokeOverprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xix

10.40PoDoFo::PdfFileInputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156


10.40.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.2.1 PdfFileInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.3.1 GetFileLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.3.2 GetHandle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.40.3.3 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.41PoDoFo::PdfFileOutputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.41.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.41.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.41.2.1 PdfFileOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.41.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.41.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.41.3.2 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.42PoDoFo::PdfFileSpec Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.42.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.42.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.42.2.1 PdfFileSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.42.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.42.3.1 GetFilename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.43PoDoFo::PdfFileStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.43.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.43.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.43.2.1 PdfFileStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.43.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.43.3.1 AppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.43.3.2 BeginAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.43.3.3 EndAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.43.3.4 GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.43.3.5 GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.43.3.6 GetInternalBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.43.3.7 GetInternalBufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.43.3.8 GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.43.3.9 SetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.43.3.10Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.44PoDoFo::PdfFilter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.44.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.44.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.44.2.1 PdfFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xx CONTENTS

10.44.2.2 ∼PdfFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164


10.44.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.44.3.1 BeginDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.44.3.2 BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.44.3.3 BeginEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.44.3.4 BeginEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.44.3.5 CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.44.3.6 CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.44.3.7 Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.44.3.8 DecodeBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.44.3.9 DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.44.3.10Encode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.44.3.11EncodeBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.44.3.12EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.44.3.13EndDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.44.3.14EndDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.44.3.15EndEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.44.3.16EndEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.44.3.17FailEncodeDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.44.3.18GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.45PoDoFo::PdfFilteredDecodeStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 169
10.45.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.45.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.45.2.1 PdfFilteredDecodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.45.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.45.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.45.3.2 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.46PoDoFo::PdfFilteredEncodeStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.46.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.46.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.46.2.1 PdfFilteredEncodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.46.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.46.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.46.3.2 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.47PoDoFo::PdfFilterFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.47.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.47.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.47.2.1 Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.47.2.2 CreateDecodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.47.2.3 CreateEncodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxi

10.47.2.4 CreateFilterList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173


10.47.2.5 FilterNameToType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.47.2.6 FilterTypeToName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.48PoDoFo::PdfFlateFilter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.48.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.48.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.48.2.1 BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.48.2.2 BeginEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.48.2.3 CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.48.2.4 CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.48.2.5 DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.48.2.6 EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.48.2.7 EndDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.48.2.8 EndEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.48.2.9 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.49PoDoFo::PdfFont Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.49.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.49.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.2.1 PdfFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.2.2 PdfFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.3.1 AddUsedGlyphname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.3.2 AddUsedSubsettingGlyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.49.3.3 EmbedFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.4 EmbedSubsetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.5 GetBaseFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.6 GetEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.7 GetFontCharSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.8 GetFontMetrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.49.3.9 GetFontMetrics2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.10GetFontScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.11GetFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.12GetIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.13GetWordSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.14IsBold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.49.3.15IsItalic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.49.3.16IsStrikeOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.49.3.17IsSubsetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.49.3.18IsUnderlined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.49.3.19SetBold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxii CONTENTS

10.49.3.20SetFontCharSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.49.3.21SetFontScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.22SetFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.23SetItalic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.24SetStrikeOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.25SetUnderlined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.26SetWordSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.49.3.27WriteStringToStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.50PoDoFo::PdfFontCache Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.50.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.50.2 Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.2.1 EFontCreationFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.3.1 PdfFontCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.3.2 PdfFontCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.3.3 ∼PdfFontCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.4.1 EmbedSubsetFonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.4.2 EmptyCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.50.4.3 GetDuplicateFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10.50.4.4 GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
10.50.4.5 GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
10.50.4.6 GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
10.50.4.7 GetFontLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.50.4.8 GetFontSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.50.4.9 SetFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.51PoDoFo::PdfFontCID Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.51.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.51.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.51.2.1 PdfFontCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.51.2.2 PdfFontCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.51.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.1 AddUsedSubsettingGlyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.2 EmbedFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.3 EmbedFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.4 EmbedSubsetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.5 Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
10.51.3.6 SetBold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.51.3.7 SetItalic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
10.52PoDoFo::PdfFontConfigWrapper Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 190

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxiii

10.52.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190


10.52.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.52.2.1 PdfFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.52.2.2 PdfFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.52.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.52.3.1 GetFontConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.53PoDoFo::PdfFontFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.53.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.53.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.53.2.1 CreateBase14Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.53.2.2 CreateFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.53.2.3 CreateFontObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.53.2.4 GetFontType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.54PoDoFo::PdfFontMetrics Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.54.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.1 CharWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.2 CharWidthMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.3 FontTypeFromFilename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.4 GetAscent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.5 GetBoundingBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.54.2.6 GetDescent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.7 GetFilename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.8 GetFontCharSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.9 GetFontData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.10GetFontDataLen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.11GetFontname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.54.2.12GetFontScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.13GetFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.14GetFontType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.15GetGlyphId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.16GetGlyphWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.17GetGlyphWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.54.2.18GetItalicAngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.54.2.19GetLineSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.54.2.20GetLineSpacingMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.54.2.21GetPdfAscent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.54.2.22GetPdfDescent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.54.2.23GetStrikeOutPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.24GetStrikeOutPositionMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxiv CONTENTS

10.54.2.25GetStrikeoutThickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.26GetStrikeoutThicknessMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.27GetSubsetFontnamePrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.28GetUnderlinePosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.29GetUnderlinePositionMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.54.2.30GetUnderlineThickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.31GetUnderlineThicknessMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.32GetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.33GetWidthArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.34GetWordSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.35IsSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.36SetFontCharSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.54.2.37SetFontScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.38SetFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.39SetFontType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.40SetWordSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.41StringWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.42StringWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.54.2.43StringWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.54.2.44StringWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.54.2.45StringWidthMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.54.2.46StringWidthMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.54.2.47StringWidthMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
10.54.2.48UnicodeCharWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
10.55PoDoFo::PdfFontSimple Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
10.55.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.2.1 PdfFontSimple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.2.2 PdfFontSimple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.3.1 EmbedFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.3.2 EmbedFontFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.55.3.3 Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.56PoDoFo::PdfFontTrueType Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.56.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.56.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.56.2.1 PdfFontTrueType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.56.2.2 PdfFontTrueType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
10.57PoDoFo::PdfFontTTFSubset Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
10.57.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxv

10.57.2 Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205


10.57.2.1 EFontFileType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
10.57.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.57.3.1 PdfFontTTFSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.57.3.2 PdfFontTTFSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.57.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.57.4.1 BuildFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.58PoDoFo::PdfFontType1 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.58.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.58.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.58.2.1 PdfFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.58.2.2 PdfFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.58.2.3 PdfFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.58.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.58.3.1 AddUsedGlyphname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.58.3.2 AddUsedSubsettingGlyphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.58.3.3 EmbedFontFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.58.3.4 EmbedSubsetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.59PoDoFo::PdfFontType1Base14 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.59.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.59.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.59.2.1 PdfFontType1Base14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.59.2.2 PdfFontType1Base14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.59.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.59.3.1 EmbedFontFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.60PoDoFo::PdfFontType3 Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.60.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.60.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.60.2.1 PdfFontType3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.60.2.2 PdfFontType3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.61PoDoFo::PdfFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.61.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.61.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.61.2.1 PdfFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.61.2.2 PdfFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.62PoDoFo::PdfFunctionBaseShadingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . 212
10.62.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.62.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.62.2.1 PdfFunctionBaseShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.62.2.2 PdfFunctionBaseShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . 213

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxvi CONTENTS

10.63PoDoFo::PdfHexFilter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213


10.63.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2.1 BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2.2 CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2.3 CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2.4 DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.63.2.5 EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.63.2.6 EndDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.63.2.7 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.64PoDoFo::PdfIdentityEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.64.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.2.1 PdfIdentityEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.3.1 AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.3.2 ConvertToEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
10.64.3.3 ConvertToUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.64.3.4 GetCharCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.64.3.5 GetID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.64.3.6 IsAutoDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.64.3.7 IsSingleByteEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.65PoDoFo::PdfImage Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.65.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.2.1 PdfImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.2.2 PdfImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.2.3 PdfImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.3.1 GetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.65.3.2 GetSupportedFormats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.3 GetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.4 LoadFromData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.5 LoadFromFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.6 SetImageChromaKeyMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.7 SetImageColorSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.65.3.8 SetImageData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
10.65.3.9 SetImageData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
10.65.3.10SetImageDataRaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
10.65.3.11SetImageICCProfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxvii

10.65.3.12SetImageSoftmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
10.65.3.13SetInterpolate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
10.66PoDoFo::PdfImmediateWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
10.66.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.66.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.66.2.1 PdfImmediateWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.66.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.66.3.1 GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.66.3.2 GetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.67PoDoFo::PdfInfo Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
10.67.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
10.67.2 Member Enumeration Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
10.67.2.1 EPdfInfoInitial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
10.67.3 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.3.1 PdfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.3.2 PdfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.3.3 ∼PdfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.4 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.4.1 GetAuthor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.4.2 GetCreationDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.4.3 GetCreator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.67.4.4 GetKeywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.5 GetModDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.6 GetProducer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.7 GetSubject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.8 GetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.9 GetTrapped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.10SetAuthor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.67.4.11SetCreator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.12SetCustomKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.13SetKeywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.14SetProducer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.15SetSubject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.16SetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.67.4.17SetTrapped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.68PoDoFo::PdfInputDevice Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.68.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.68.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.68.2.1 PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.68.2.2 PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxviii CONTENTS

10.68.2.3 PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229


10.68.2.4 ∼PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.2.5 PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3.1 Bad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3.2 Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3.3 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3.4 Eof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.68.3.5 GetChar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.6 IsSeekable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.7 Look . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.8 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.9 Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.10SetSeekable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.68.3.11Tell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.69PoDoFo::PdfInputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.69.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.69.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.69.2.1 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.70PoDoFo::PdfIso88592Encoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.70.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.70.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.70.2.1 PdfIso88592Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.70.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.70.3.1 GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.71PoDoFo::PdfListBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.71.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2.1 PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2.2 PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2.3 PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2.4 PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.71.2.5 PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.72PoDoFo::PdfListField Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
10.72.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
10.72.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
10.72.2.1 PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
10.72.2.2 PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.2.3 PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.2.4 PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxix

10.72.2.5 PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235


10.72.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.3.1 GetItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.3.2 GetItemCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.3.3 GetItemDisplayText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.72.3.4 GetSelectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.5 InsertItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.6 IsComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.7 IsMultiSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.8 IsSorted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.9 IsSpellcheckingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.10RemoveItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.72.3.11SetMultiSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.72.3.12SetSelectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.72.3.13SetSorted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.72.3.14SetSpellcheckingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.73PoDoFo::PdfLZWFilter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.73.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.73.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.73.2.1 BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.73.2.2 BeginEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.73.2.3 CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.73.2.4 CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.73.2.5 DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.73.2.6 EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.73.2.7 EndDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.73.2.8 EndEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.73.2.9 GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.74PoDoFo::PdfMacRomanEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.74.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.74.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.74.2.1 PdfMacRomanEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.74.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.74.3.1 GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.75PoDoFo::PdfMemDocument Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
10.75.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.75.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.2.1 PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.2.2 PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.2.3 PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxx CONTENTS

10.75.2.4 ∼PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243


10.75.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.3.1 AddPdfExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.3.2 DeletePages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
10.75.3.3 FreeObjectMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.75.3.4 FreeObjectMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.75.3.5 GetCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.75.3.6 GetCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.75.3.7 GetEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.75.3.8 GetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.9 GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.10GetLanguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.11GetMarkInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.12GetMetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.13GetNamedObjectFromCatalog . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.75.3.14GetObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.15GetObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.16GetPdfExtensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.17GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.18GetStructTreeRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.19GetTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.20GetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
10.75.3.21HasPdfExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
10.75.3.22InitFromParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
10.75.3.23InsertPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
10.75.3.24IsAccessibilityAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
10.75.3.25IsCopyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
10.75.3.26IsDocAssemblyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
10.75.3.27IsEditAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
10.75.3.28IsEditNotesAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
10.75.3.29IsFillAndSignAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
10.75.3.30IsHighPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.75.3.31IsLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.75.3.32IsLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.75.3.33IsPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.75.3.34Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
10.75.3.35Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
10.75.3.36Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
10.75.3.37RemovePdfExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
10.75.3.38SetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxxi

10.75.3.39SetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.75.3.40SetPassword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.75.3.41SetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.75.3.42SetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.75.3.43Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
10.75.3.44Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
10.76PoDoFo::PdfMemoryInputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.76.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.76.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.76.2.1 PdfMemoryInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.76.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.76.3.1 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.77PoDoFo::PdfMemoryOutputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.2.1 PdfMemoryOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.2.2 PdfMemoryOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.3.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
10.77.3.2 GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10.77.3.3 TakeBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10.77.3.4 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10.78PoDoFo::PdfMemStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10.78.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.2.1 PdfMemStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.2.2 PdfMemStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.3.1 AppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10.78.3.2 BeginAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
10.78.3.3 Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.4 EndAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.5 FlateCompress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.6 Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.7 GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.8 GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.78.3.9 GetInternalBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
10.78.3.10GetInternalBufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
10.78.3.11GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
10.78.3.12operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxxii CONTENTS

10.78.3.13Uncompress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
10.78.3.14Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
10.79PoDoFo::Util::PdfMutexImpl Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.2.1 PdfMutexImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.2.2 PdfMutexImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.3.1 Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.79.3.2 Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.3 Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.4 TryLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.5 TryLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.6 TryLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.7 UnLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.8 UnLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.79.3.9 UnLock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.80PoDoFo::Util::PdfMutexWrapper Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 264
10.80.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.80.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.80.2.1 PdfMutexWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.80.2.2 ∼PdfMutexWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.81PoDoFo::PdfName Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.81.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2.1 PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2.2 PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2.3 PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2.4 PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.81.2.5 PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3.1 FromEscaped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3.2 FromEscaped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3.3 GetEscapedName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3.4 GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10.81.3.5 GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.6 operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.7 operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.8 operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.9 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxxiii

10.81.3.10operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.11operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.81.3.12operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
10.81.3.13Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
10.82PoDoFo::PdfNamedColor Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
10.82.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
10.82.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
10.82.2.1 PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
10.82.2.2 PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.2.3 PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.2.4 ∼PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3.1 GetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3.2 GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3.3 operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3.4 operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.82.3.5 operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
10.83PoDoFo::PdfObject Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
10.83.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.1 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.2 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.3 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.4 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.5 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.83.2.6 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.7 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.8 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.9 PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.10PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.11PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
10.83.2.12PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
10.83.2.13PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.1 DelayedStreamLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.2 DelayedStreamLoadImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.3 EnableDelayedStreamLoading . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.4 FlateCompressStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.5 GetByteOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.83.3.6 GetIndirectKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxxiv CONTENTS

10.83.3.7 GetObjectLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277


10.83.3.8 GetOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
10.83.3.9 GetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
10.83.3.10GetStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.11GetStream_NoDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.12HasStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.13MustGetIndirectKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.14operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.15operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
10.83.3.16operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.83.3.17Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.83.3.18SetOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.83.3.19WriteObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.84PoDoFo::PdfObjectStreamParserObject Class Reference . . . . . . . . . . . . . . . . . . . . . . 279
10.84.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.84.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.84.2.1 PdfObjectStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
10.85PoDoFo::PdfOutlineItem Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
10.85.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.2.1 PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.2.2 PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.2.3 PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.2.4 PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
10.85.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.1 CreateChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.2 CreateNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.3 CreateNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.4 Erase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.5 First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.6 GetAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.7 GetDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
10.85.3.8 GetParentOutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
10.85.3.9 GetTextColorBlue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
10.85.3.10GetTextColorGreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
10.85.3.11GetTextColorRed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
10.85.3.12GetTextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.13GetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.14InsertChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.15Last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxxv

10.85.3.16Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.17Prev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.18SetAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.19SetDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10.85.3.20SetTextColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
10.85.3.21SetTextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
10.85.3.22SetTitle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
10.86PoDoFo::PdfOutlines Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
10.86.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.86.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.86.2.1 PdfOutlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.86.2.2 PdfOutlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.86.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.86.3.1 CreateRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.87PoDoFo::PdfOutputDevice Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.87.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2.1 PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2.2 PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2.3 PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2.4 PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
10.87.2.5 PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.2.6 ∼PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.3.1 Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.3.2 GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.3.3 Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
10.87.3.4 PrintV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
10.87.3.5 PrintVLen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
10.87.3.6 Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
10.87.3.7 Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
10.87.3.8 Tell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.87.3.9 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.88PoDoFo::PdfOutputStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.88.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.88.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.88.2.1 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
10.88.2.2 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
10.88.2.3 Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
10.89PoDoFo::PdfPage Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxxvi CONTENTS

10.89.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293


10.89.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
10.89.2.1 PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
10.89.2.2 PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
10.89.2.3 PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
10.89.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
10.89.3.1 CreateAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
10.89.3.2 CreateStandardPageSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
10.89.3.3 DeleteAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
10.89.3.4 DeleteAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
10.89.3.5 GetAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
10.89.3.6 GetArtBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10.89.3.7 GetBleedBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10.89.3.8 GetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10.89.3.9 GetContentsForAppending . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10.89.3.10GetCropBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
10.89.3.11GetField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
10.89.3.12GetField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
10.89.3.13GetFromResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
10.89.3.14GetInheritedKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
10.89.3.15GetMediaBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
10.89.3.16GetNumAnnots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.17GetNumFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.18GetPageNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.19GetPageSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.20GetResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.21GetRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
10.89.3.22GetTrimBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.89.3.23SetPageHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.89.3.24SetPageWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.89.3.25SetRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.89.3.26SetTrimBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.90PoDoFo::PdfPagesTree Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
10.90.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.2.1 PdfPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.2.2 PdfPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.2.3 ∼PdfPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10.90.3.1 ClearCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxxvii

10.90.3.2 CreatePage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302


10.90.3.3 CreatePages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.90.3.4 DeletePage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.90.3.5 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.90.3.6 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.90.3.7 GetTotalNumberOfPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
10.90.3.8 InsertPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
10.90.3.9 InsertPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
10.90.3.10InsertPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
10.90.3.11InsertPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
10.91PoDoFo::PdfPagesTreeCache Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.2.1 PdfPagesTreeCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.2.2 ∼PdfPagesTreeCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.3.1 AddPageObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.3.2 AddPageObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
10.91.3.3 ClearCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.91.3.4 DeletePage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.91.3.5 GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.91.3.6 InsertPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.91.3.7 InsertPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.92PoDoFo::PdfPainter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
10.92.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.2.1 PdfPainter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.3.1 AddText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.3.2 AddText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.92.3.3 AddToPageResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
10.92.3.4 ArcTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
10.92.3.5 BeginText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
10.92.3.6 Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
10.92.3.7 Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
10.92.3.8 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
10.92.3.9 ClosePath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
10.92.3.10ConvertRectToBezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
10.92.3.11CubicBezierTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
10.92.3.12DrawGlyph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xxxviii CONTENTS

10.92.3.13DrawImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
10.92.3.14DrawLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
10.92.3.15DrawMultiLineText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
10.92.3.16DrawMultiLineText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
10.92.3.17DrawText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
10.92.3.18DrawText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
10.92.3.19DrawTextAligned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
10.92.3.20DrawXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
10.92.3.21Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
10.92.3.22EndPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
10.92.3.23EndText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
10.92.3.24ExpandTabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
10.92.3.25Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10.92.3.26FillAndStroke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10.92.3.27FinishPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10.92.3.28GetCanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10.92.3.29GetCurrentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10.92.3.30GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.31GetMultiLineTextAsLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.32GetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.33GetPrecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.34GetTabWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.35GetTextRenderingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.36HorizontalLineTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.92.3.37LineTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
10.92.3.38MoveTextPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
10.92.3.39MoveTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
10.92.3.40QuadCurveTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
10.92.3.41Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
10.92.3.42Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
10.92.3.43Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
10.92.3.44Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
10.92.3.45SetClipRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
10.92.3.46SetClipRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
10.92.3.47SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
10.92.3.48SetColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
10.92.3.49SetColorCMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
10.92.3.50SetCurrentStrokingColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
10.92.3.51SetExtGState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
10.92.3.52SetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xxxix

10.92.3.53SetGray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
10.92.3.54SetLineCapStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
10.92.3.55SetLineJoinStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
10.92.3.56SetMiterLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
10.92.3.57SetPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
10.92.3.58SetPrecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
10.92.3.59SetRenderingIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10.92.3.60SetShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10.92.3.61SetStrokeStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10.92.3.62SetStrokeWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10.92.3.63SetStrokingColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
10.92.3.64SetStrokingColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
10.92.3.65SetStrokingColorCMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.66SetStrokingGray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.67SetStrokingShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.68SetStrokingTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.69SetStrokingTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.70SetTabWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
10.92.3.71SetTextRenderingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
10.92.3.72SetTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
10.92.3.73SetTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
10.92.3.74SetTransformationMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
10.92.3.75SmoothCurveTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
10.92.3.76SmoothQuadCurveTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.3.77Stroke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.3.78VerticalLineTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.1 m_curColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.2 m_curPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.3 m_isTextOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.4 m_nTabWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.5 m_oss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
10.92.4.6 m_pCanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10.92.4.7 m_pFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10.92.4.8 m_pPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10.93PoDoFo::PdfPainterMM Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10.93.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
10.93.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.93.2.1 PdfPainterMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.93.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xl CONTENTS

10.93.3.1 DrawImageMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334


10.93.3.2 DrawLineMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.93.3.3 DrawTextMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.93.3.4 DrawTextMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.93.3.5 DrawXObjectMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
10.93.3.6 EllipseMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
10.93.3.7 LineToMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
10.93.3.8 MoveToMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
10.93.3.9 RectangleMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
10.93.3.10SetStrokeWidthMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
10.94PoDoFo::PdfParser Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
10.94.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.94.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.94.2.1 PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.94.2.2 PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.94.2.3 PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.94.2.4 PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.94.2.5 ∼PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.94.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.1 CheckEOFMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.2 FindToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.3 FindToken2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.4 GetEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.5 GetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.6 GetFileSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.7 GetIgnoreBrokenObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.94.3.8 GetLoadOnDemand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.9 GetMaxObjectCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.10GetNumberOfIncrementalUpdates . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.11GetObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.12GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.13GetPdfVersionString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.14GetTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.94.3.15HasLinearizationDict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.16IsLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.17IsPdfFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.18IsStrictParsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.19MergeTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.20ParseFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.94.3.21ParseFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xli

10.94.3.22ParseFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.94.3.23QuickEncryptedCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.94.3.24ReadDocumentStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.94.3.25ReadObjectFromStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.94.3.26ReadObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.27ReadObjectsInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.28ReadTrailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.29ReadXRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.30ReadXRefContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.31ReadXRefStreamContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.94.3.32ReadXRefSubsection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.94.3.33SetIgnoreBrokenObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.94.3.34SetMaxObjectCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.94.3.35SetPassword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.94.3.36SetStrictParsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.94.3.37TakeEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
10.95PoDoFo::PdfParserObject Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
10.95.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
10.95.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.2.1 PdfParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.2.2 PdfParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.3.1 DelayedLoadImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.3.2 DelayedStreamLoadImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.3.3 FreeObjectMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.95.3.4 HasStreamToParse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.95.3.5 IsLoadOnDemand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.95.3.6 ParseFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.95.3.7 ParseStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.95.3.8 SetLoadOnDemand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.95.3.9 SetObjectNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
10.96PoDoFo::PdfPredictorDecoder Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.96.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97PoDoFo::PdfPushButton Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.2.1 PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.2.2 PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.2.3 PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.97.2.4 PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xlii CONTENTS

10.97.2.5 PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349


10.97.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.97.3.1 GetAlternateCaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.97.3.2 GetRolloverCaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.97.3.3 SetAlternateCaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.97.3.4 SetRolloverCaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.98PoDoFo::PdfRadialShadingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.98.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
10.98.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
10.98.2.1 PdfRadialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
10.98.2.2 PdfRadialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
10.99PoDoFo::PdfRect Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
10.99.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
10.99.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
10.99.2.1 PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
10.99.2.2 PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
10.99.2.3 PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.2.4 PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.1 FromArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.2 GetBottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.3 GetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.4 GetLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.5 GetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.6 Intersect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
10.99.3.7 SetBottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.99.3.8 SetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.99.3.9 SetLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.99.3.10SetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.99.3.11ToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.99.3.12ToVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
10.100
PoDoFo::PdfRefCountedBuffer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.2.1PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.2.2PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.2.3PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
10.100.2.4PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.2.5∼PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xliii

10.100.3.1GetBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.3.2GetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.3.3operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.3.4operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
10.100.3.5operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10.100.3.6operator> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10.100.3.7Resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10.100.3.8SetTakePossesion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10.100.3.9TakePossesion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
10.101
PoDoFo::PdfRefCountedInputDevice Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2.1PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2.2PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2.3PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2.4PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
10.101.2.5PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
10.101.2.6∼PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
10.101.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
10.101.3.1Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
10.101.3.2operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
10.102
PoDoFo::PdfReference Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
10.102.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.2.1PdfReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.2.2PdfReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.2.3PdfReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.3.1GenerationNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
10.102.3.2IsIndirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.3ObjectNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.4operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.5operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.6operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.7operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.8SetGenerationNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
10.102.3.9SetObjectNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
10.102.3.10
ToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
10.102.3.11
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
10.103
PoDoFo::PdfRLEFilter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xliv CONTENTS

10.103.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363


10.103.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
10.103.2.1BeginDecodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
10.103.2.2BeginEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
10.103.2.3CanDecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
10.103.2.4CanEncode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
10.103.2.5DecodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
10.103.2.6EncodeBlockImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
10.103.2.7EndEncodeImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
10.103.2.8GetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.104
PoDoFo::PdfSampledFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.104.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.104.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.104.2.1PdfSampledFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.104.2.2PdfSampledFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
10.105
PoDoFo::PdfShadingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
10.105.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
10.105.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
10.105.2.1PdfShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
10.105.2.2PdfShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.105.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.105.3.1GetIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.106
PoDoFo::PdfSignatureField Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.106.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.106.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.106.2.1PdfSignatureField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.106.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
10.106.3.1AddCertificationReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
10.106.3.2SetSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.106.3.3SetSignatureDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.106.3.4SetSignatureLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.106.3.5SetSignatureReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.107
PoDoFo::PdfSignOutputDevice Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
10.107.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2.1AdjustByteRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2.2Flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2.3GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2.4GetSignatureBeacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
10.107.2.5GetSignatureSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xlv

10.107.2.6Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
10.107.2.7Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
10.107.2.8ReadForSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
10.107.2.9Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
10.107.2.10
SetSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
10.107.2.11
SetSignatureSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
10.107.2.12
Tell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
10.107.2.13
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
10.108
PoDoFo::PdfSimpleEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
10.108.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
10.108.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
10.108.2.1AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
10.108.2.2ConvertToEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
10.108.2.3ConvertToUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
10.108.2.4GetCharCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
10.108.2.5GetID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
10.108.2.6GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
10.108.2.7GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
10.108.2.8IsAutoDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
10.108.2.9IsSingleByteEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
10.109
PoDoFo::PdfSimpleTableModel Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
10.109.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.109.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.109.2.1PdfSimpleTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.109.2.2PdfSimpleTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
10.109.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
10.109.3.1GetAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
10.109.3.2GetBackgroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
10.109.3.3GetBorderColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
10.109.3.4GetBorderWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
10.109.3.5GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
10.109.3.6GetForegroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
10.109.3.7GetImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
10.109.3.8GetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
10.109.3.9GetVerticalAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
10.109.3.10
HasBackgroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
10.109.3.11
HasBorders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
10.109.3.12
HasImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
10.109.3.13
HasWordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
10.109.3.14
SetAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xlvi CONTENTS

10.109.3.15
SetAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.16
SetBackgroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.17
SetBackgroundEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.18
SetBorderEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.19
SetBorderWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.20
SetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
10.109.3.21
SetForegroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
10.109.3.22
SetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
10.109.3.23
SetWordWrapEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
10.110
PoDoFo::PdfStandardEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
10.110.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
10.110.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.110.2.1PdfStandardEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.110.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.110.3.1GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.111
PoDoFo::PdfStitchingFunction Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.111.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
10.111.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
10.111.2.1PdfStitchingFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
10.111.2.2PdfStitchingFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
10.112
PoDoFo::PdfStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
10.112.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.112.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.112.2.1PdfStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.112.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.112.3.1Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
10.112.3.2Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.112.3.3Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.112.3.4AppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
10.112.3.5BeginAppend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.112.3.6BeginAppend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.112.3.7BeginAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.112.3.8EndAppend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.112.3.9EndAppendImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
10.112.3.10
GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.112.3.11
GetCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.112.3.12
GetFilteredCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.112.3.13
GetFilteredCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.112.3.14
GetInternalBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
10.112.3.15
GetInternalBufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xlvii

10.112.3.16
GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
10.112.3.17
IsAppending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
10.112.3.18
operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
10.112.3.19
Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
10.112.3.20
Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
10.112.3.21
Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.112.3.22
Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.112.3.23
Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.112.3.24
SetRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.112.3.25
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
10.113
PoDoFo::PdfStreamedDocument Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 394
10.113.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
10.113.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.2.1PdfStreamedDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.2.2PdfStreamedDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.3.1Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.3.2GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.3.3GetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
10.113.3.4IsAccessibilityAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
10.113.3.5IsCopyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
10.113.3.6IsDocAssemblyAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
10.113.3.7IsEditAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
10.113.3.8IsEditNotesAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
10.113.3.9IsFillAndSignAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
10.113.3.10
IsHighPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
10.113.3.11
IsLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
10.113.3.12
IsPrintAllowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
10.114
PoDoFo::PdfString Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
10.114.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2.1PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2.2PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2.3PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2.4PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
10.114.2.5PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
10.114.2.6PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
10.114.2.7PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
10.114.2.8PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
10.114.2.9PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


xlviii CONTENTS

10.114.2.10
PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
10.114.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
10.114.3.1GetBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
10.114.3.2GetCharacterLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
10.114.3.3GetLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
10.114.3.4GetString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
10.114.3.5GetStringUtf8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
10.114.3.6GetUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
10.114.3.7GetUnicodeLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
10.114.3.8IsHex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
10.114.3.9IsUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
10.114.3.10
IsValid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
10.114.3.11
operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
operator< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
10.114.3.12
10.114.3.13
operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
10.114.3.14
operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
operator> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
10.114.3.15
10.114.3.16
SetHexData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
10.114.3.17
ToUnicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
10.114.3.18
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
10.115
PoDoFo::PdfSymbolEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.115.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.115.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.115.2.1PdfSymbolEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.115.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.115.3.1GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
10.116
PoDoFo::PdfTable Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.116.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
10.116.2Member Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.2.1CreatePageCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.3Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.3.1PdfTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.4Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.4.1CalculateTableSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.4.2CheckForNewPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
10.116.4.3Draw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
10.116.4.4DrawHorizontalBorders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
10.116.4.5GetAutoPageBreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
10.116.4.6GetCols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
10.116.4.7GetHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS xlix

10.116.4.8GetModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
10.116.4.9GetRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
10.116.4.10
GetWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
10.116.4.11
SetAutoPageBreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
10.116.4.12
SetColumnWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
10.116.4.13
SetColumnWidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
10.116.4.14
SetModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
10.116.4.15
SetRowHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
10.116.4.16
SetRowHeights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
10.116.4.17
SetTableHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
10.116.4.18
SetTableWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
10.117
PoDoFo::PdfTableModel Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
10.117.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2.1GetAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2.2GetBackgroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2.3GetBorderColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2.4GetBorderWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
10.117.2.5GetFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
10.117.2.6GetForegroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
10.117.2.7GetImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
10.117.2.8GetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
10.117.2.9GetVerticalAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
10.117.2.10
HasBackgroundColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
10.117.2.11
HasBorders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
10.117.2.12
HasImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
10.117.2.13
HasWordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
10.118
PoDoFo::PdfTextField Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10.118.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10.118.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10.118.2.1PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10.118.2.2PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.2.3PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.2.4PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.2.5PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3.1GetMaxLen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3.2GetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3.3IsCombs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3.4IsFileField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


l CONTENTS

10.118.3.5IsMultiLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
10.118.3.6IsPasswordField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.7IsRichText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.8IsScrollBarsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.9IsSpellcheckingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.10
SetCombs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.11
SetFileField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.12
SetMaxLen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
10.118.3.13
SetMultiLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.118.3.14
SetPasswordField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.118.3.15
SetRichText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.118.3.16
SetScrollBarsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.118.3.17
SetSpellcheckingEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.118.3.18
SetText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
10.119
PoDoFo::PdfTilingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
10.119.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
10.119.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
10.119.2.1PdfTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
10.119.2.2PdfTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
10.119.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
10.119.3.1GetIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
10.120
PoDoFo::PdfTokenizer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
10.120.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
10.120.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
10.120.2.1DetermineDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
10.120.2.2GetHexValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.120.2.3GetNextNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.120.2.4GetNextToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.120.2.5GetNextVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.120.2.6GetNextVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.7IsDelimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.8IsNextToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.9IsPrintable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.10
IsRegular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.11
IsWhitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.120.2.12
QuequeToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
10.120.2.13
ReadArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
10.120.2.14
ReadDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
10.120.2.15
ReadHexString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
10.120.2.16
ReadName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS li

10.120.2.17
ReadString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.120.3Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.120.3.1HEX_NOT_FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.121
PoDoFo::PdfTriangleShadingPattern Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 427
10.121.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.121.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.121.2.1PdfTriangleShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
10.121.2.2PdfTriangleShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.122
PoDoFo::NonPublic::PdfTTFWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.122.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.122.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.122.2.1PdfTTFWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.122.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.122.3.1Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.122.3.2Subset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.122.3.3Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.123
PoDoFo::PdfType1Encrypt Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.123.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
10.123.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.123.2.1PdfType1Encrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.123.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.123.3.1Decrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.123.3.2Encrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.124
PoDoFo::PdfVariant Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
10.124.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2.1PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2.2PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2.3PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2.4PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
10.124.2.5PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.6PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.7PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.8PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.9PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.10
PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.124.2.11
PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3.1AssertMutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3.2Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


lii CONTENTS

10.124.3.3DelayedLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3.4DelayedLoadDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3.5DelayedLoadImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10.124.3.6EnableDelayedLoading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.7GetArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.8GetArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.9GetArray_NoDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.10
GetArray_NoDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.11
GetBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.12
GetDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
10.124.3.13
GetDataTypeString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.14
GetDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.15
GetDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.16
GetDictionary_NoDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.17
GetDictionary_NoDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.18
GetImmutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.19
GetName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
10.124.3.20
GetNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.21
GetRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.22
GetRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.23
GetReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.24
GetReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.25
GetString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.26
IsArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
10.124.3.27
IsBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.28
IsDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.29
IsDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.30
IsEmpty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.31
IsHexString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.32
IsName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.33
IsNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.34
IsNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
10.124.3.35
IsRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.36
IsReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.37
IsReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.38
IsString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.39
operator"!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.40
operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.41
operator== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
10.124.3.42
SetBool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS liii

10.124.3.43
SetDirty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
10.124.3.44
SetImmutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
10.124.3.45
SetNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
10.124.3.46
SetReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
10.124.3.47
ToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
10.124.3.48
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
10.124.3.49
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
10.125
PoDoFo::PdfVecObjects Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
10.125.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10.125.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10.125.2.1PdfVecObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10.125.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10.125.3.1AddFreeObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10.125.3.2Attach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.3AutoDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.4begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.5begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.6BeginAppendStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.7Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.125.3.8CollectGarbage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
10.125.3.9CreateObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.125.3.10
CreateObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.125.3.11
CreateStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.125.3.12
CreateStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.125.3.13
Detach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.125.3.14
end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.15
end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.16
EndAppendStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.17
Finish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.18
GetBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.19
GetFreeObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.20
GetIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.125.3.21
GetNextSubsetPrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.22
GetObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.23
GetObjectCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.24
GetObjectDependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.25
GetParentDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.26
GetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.125.3.27
insert_sorted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
10.125.3.28
push_back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


liv CONTENTS

10.125.3.29
RemoveObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.125.3.30
RemoveObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.125.3.31
RenumberObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.125.3.32
Reserve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
10.125.3.33
SetAutoDelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.125.3.34
SetObjectCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.125.3.35
SetParentDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.125.3.36
SetStreamFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.125.3.37
Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.125.3.38
WriteObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.126
PoDoFo::PdfWin1250Encoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
10.126.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.126.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.126.2.1PdfWin1250Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.126.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.126.3.1GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.127
PoDoFo::PdfWinAnsiEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
10.127.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.127.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.127.2.1PdfWinAnsiEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.127.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.127.3.1AddToDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
10.127.3.2GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
10.128
PoDoFo::PdfWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
10.128.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
10.128.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
10.128.2.1PdfWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
10.128.2.2PdfWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
10.128.2.3PdfWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
10.128.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
10.128.3.1CreateFileIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
10.128.3.2CreateLinearizationDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.3FillTrailerObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.4GetByteOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.5GetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.6GetLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.7GetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
10.128.3.8GetPdfVersionString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.9GetUseXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.10
GetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS lv

10.128.3.11
SetEncrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.12
SetLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.13
SetPdfVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.14
SetUseXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
10.128.3.15
SetWriteMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.16
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.17
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.18
WriteLinearized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.19
WritePdfHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.20
WritePdfObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
10.128.3.21
WriteToBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
10.128.4Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
10.128.4.1m_vecObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
10.129
PoDoFo::PdfXObject Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
10.129.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
10.129.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
10.129.2.1PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
10.129.2.2PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
10.129.2.3PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
10.129.2.4PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
10.129.2.5PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
10.129.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
10.129.3.1GetContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
10.129.3.2GetContentsForAppending . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
10.129.3.3GetIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.129.3.4GetObjectReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.129.3.5GetPageSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.129.3.6GetResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.130
PoDoFo::PdfXRef Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
10.130.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.2.1PdfXRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.2.2∼PdfXRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.3.1AddObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.3.2BeginWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
10.130.3.3EndWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
10.130.3.4GetOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
10.130.3.5GetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
10.130.3.6SetFirstEmptyBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


lvi CONTENTS

10.130.3.7Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
10.130.3.8WriteSubSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
10.130.3.9WriteXRefEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
10.131
PoDoFo::PdfXRefStream Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.131.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.131.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.131.2.1PdfXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.131.2.2∼PdfXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3.1BeginWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3.2EndWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3.3GetOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3.4WriteSubSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.131.3.5WriteXRefEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
10.132
PoDoFo::PdfXRefStreamParserObject Class Reference . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.2.1PdfXRefStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.3.1GetPreviousOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
10.132.3.2HasPrevious . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
10.133
PoDoFo::PdfZapfDingbatsEncoding Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 472
10.133.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
10.133.2Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
10.133.2.1PdfZapfDingbatsEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
10.133.3Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.133.3.1GetToUnicodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.134
PoDoFo::PdfVecObjects::StreamFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . 473
10.134.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.134.2Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.134.2.1CreateStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.135
PoDoFo::TFontCacheElement Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
10.135.1Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

11 File Documentation 475


11.1 PdfDefines.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
11.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
11.1.2 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
11.1.2.1 ePdfBlendMode_Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
11.1.2.2 ePdfRenderingIntent_AbsoluteColorimetric . . . . . . . . . . . . . . . . . . . . 477

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


CONTENTS lvii

11.1.2.3 PODOFO_MAKE_VERSION_REAL . . . . . . . . . . . . . . . . . . . . . . . . 477


11.1.2.4 PODOFO_MAKE_VERSION_STR_REAL . . . . . . . . . . . . . . . . . . . . . 477
11.2 PdfError.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
11.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.2.2 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.2.2.1 PODOFO_RAISE_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.2.2.2 PODOFO_RAISE_ERROR_INFO . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.2.2.3 PODOFO_RAISE_LOGIC_IF . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.3 PdfFiltersPrivate.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
11.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

Index 481

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 1

Main Page

PoDoFo is a library to work with the PDF file format and includes also a few tools. The name comes from the first
letter of PDF (Portable Document Format).
The PoDoFo library is a free portable C++ library which includes classes to parse a PDF file and modify its contents
into memory. The changes can be written back to disk easily. The parser could also be used to write a PDF
viewer. Besides parsing PoDoFo includes also very simple classes to create your own PDF files. All classes are
documented so it is easy to start writing your own application using PoDoFo.
The PoDoFo tools are simple tools build around the PoDoFo library. These tools are first of all examples on how
to use the PoDoFo library in your own projects. But secondly they offer also features for working with PDF files.
More tools will come with future release and the existing tools will gain more features. Currently there are two tools:
podofoimgextract (which extracts all jpeg images from a given PDF file) and podofouncompress (which removes all
compression filters from a PDF file - this is useful for debugging existing PDF files).
Additionally there is the external tool PoDoFoBrowser which is not included in this package, but can be downloaded
from the PoDoFo webpage. PoDoFoBrowser is a Qt application for browsing the objects in a PDF file and modifying
their keys easily. It is very useful if you want to look on the internal structure of PDF files.
As of now PoDoFo is available for Unix, Mac OS X and Windows platforms.
More information can be found at: http://podofo.sourceforge.net
PoDoFo is created by Dominik Seichter domseichter@web.de, Leonard Rosenthol leonardr@pdfsages.←-
com and Craig Ringer craig@postnewspapers.com.au
2 Main Page

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 2

Pdf3rdPartyForwardDecl.h

Forward declare some types that we use in our public API but don't want to include the headers for directly. We
can't do a nice simple forward declaration because most of these libraries have typedefs everywhere.
We don't want to include things like freetype directly in our public headers because:

• They dump a huge amount of cruft into the top level namespace

• Programs that haven't gone through the apallingly convoluted process required to add freetype's header path
can't include podofo's headers even if they have no intention of using any freetype-related font features.
4 Pdf3rdPartyForwardDecl.h

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 3

PdfCompilerCompat Header

PdfCompilerCompat.h gathers up nastyness required for various compiler compatibility into a central place. All
compiler-specific defines, wrappers, and the like should be included here and (if necessary) in PdfCompiler←-
Compat.cpp if they must be visible to public users of the library.
If the nasty platform and compiler specific hacks can be kept to PoDoFo's build and need not be visible to users of
the library, put them in PdfCompilerCompatPrivate.{cpp,h} instead.
Please NEVER use symbols from this header or the PoDoFo::compat namespace in a "using" directive. Always
explicitly reference names so it's clear that you're pulling them from the compat cruft.
PdfCompilerCompatPrivate.h gathers up nastyness required for various compiler compatibility into a central place.
All compiler-specific defines, wrappers, and the like should be included here and (if necessary) in PdfCompiler←-
CompatPrivate.cpp. If the must be visible to library users they're put in PdfCompilerCompat.{cpp,h} instead.
PdfCompilerCompatPrivate.h is private to PoDoFo's build process. It is not used by library clients, the tools, or the
unit tests. It is not installed with PoDoFo and must never be visible in the public headers.
Include PdfCompilerCompatPrivate.h in your .cpp sources, preferably after including other PoDoFo headers.
Please NEVER use symbols from this header or the PoDoFo::compat namespace in a "using" directive. Always
explicitly reference names so it's clear that you're pulling them from the compat cruft.
PdfDefinesPrivate.h contains preprocessor definitions, inline functions, templates, compile-time const variables,
and other things that must be visible across the entirety of the PoDoFo library code base but should not be visible
to users of the library's headers.
This header is private to the library build. It is not installed with PoDoFo and must not be referenced in any way from
any public, installed header.
6 PdfCompilerCompat Header

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 4

(Codingstyle)

This document tries to give an overview of the codingstyle used in PoDoFo.


To keep the code consistent every commit should apply to this codingstyle.

The codingstyle of PoDoFo is in no way perfect and is in parts not even the
preferred codingstyle of the maintainers. But consistency is more important
than personal preferences and most parts of the style can be applied through
simple editor settings.

2006 Dominik Seichter <domseichter@web.de>

0. Overall Rule
===============

Documentation is an important part of PoDoFo. Every class and method


should include appropriate documentation in Doxygen format so that
automatic API documentation can be generated and the code can be
easily understand by everyone.

The comments are most important in the header files, though additional
information may also be included in the source itself if necessary.

1. Code formatting
==================

1.1 Indentation

The code is indented by 4 spaces. No tabs and no discussion ;)


EMACS users might apply those settings:
(setq tab-width 4) ;; the the preferred tab-width
(setq indent-tabs-mode nil) ;; indent using spaces instead of tabs
(setq c-basic-offset tab-width)

1.2 Brackets

Brackets always start in a new line of their own. The only exception are
class and struct declarations and try and catch blocks.

Example:

if( true )
{
// do something
}

but

class MyClass {

};

If only one line follows after an if or while statement, no brackets are


needed, however they may be used if the author feels that there is a
possibility for future expansion in that area.
8 (Codingstyle)

1.3 Inline functions

Inline functions are declared in the class definition in the header file.
They are implemented in the header file after the class definition.
The author may choose to either implement them directly at the same location
as the declaration or may place them at the end of the header file (preferred).

2. Naming
=========

2.1 Variables

Someone started to use hungarian notation in PoDoFo. Well, the maintainer


thinks this was one of the worst ideas he ever had... . Nontheless, the
point is consistency and not personall preference.

PoDoFo uses hungarian notation for the following types:

enum typenames should start with an E


enum variables should start with an e
struture typesnames should start with a T
struture variables should start with a t
pointer should start with a p
strings should start with a s
c-strings should start with psz
(pointer zero terminated)
numbers should start with a n
long’s should start with a l
bool’s should start with a b
references often start with a r

Example:

bool bDecision;
long lValue;
char* pszString;
int nNumber;

2.2 Member variables

Member variables in classes are additionally prefixed with "m_".

Examples:

class MyClass {

private:
bool m_bMemberVar;

};

2.3 Methods

All methods start with an uppercase letter and every new word is
capitalized again.

MyClass::FunctionWithLongName( long lParameter );

Properties are set using a function with the prefix "Set", and retrieved with
a "Get". Also, unless there is a good reason not to - all "Getters" should be
marked as const.

MyClass::SetProperty( long lValue );


long MyClass::GetProperty() const;

Additionally, please use the prefixes "Has" and "Is" when appropriate.
E.g.

PdfDictionary::HasKey();
PdfDocument::IsLinearized();

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9

Avoid the throw() qualifier (see 3.5).

2.4 NULL-Pointers

NULL Pointers are initialized in the code with the constant NULL. Please
do not use 0 or 0L but use NULL.

3. General Guidelines
===================

3.1 Casting

C++ style casting is strongly preferred, and the use of C-style casts will
generate warnings on gcc builds. Use, as appropriate,
static_cast<>
const_cast<>
reinterpret_cast<>
Dynamic casting and typeid are not presently used in PoDoFo.

const_cast<> should be avoided unless it is absolutely required, especially


for ‘const char *’ variables that might ever take a string literal value.

3.2 Local variable declaration

Local variables should always be declared closest to their point of use,


and should be declared ‘const’ wherever possible.

For example:

Thing f()
{
Thing ret;
// blah blah blah
ret = DoSomething();
// blah blah blah
return ret;
}

would be better written as:

Thing f()
{
// blah blah blah
Thing ret ( DoSomething() );
// blah blah blah
return ret;
}

Remember your const pointers:

char * x; Pointer to char


const char * x; Pointer to const char
char * const x; Const pointer to char
const char * const x; Const pointer to const char

3.3 Static arrays

Static data should be declared as an array of const char rather than a


pointer to const char whereever possible. This will help the compiler put
it in the static read only data section of the compiled object, resulting
in a smaller memory footprint, faster load times, and hardware protection
against accidental writes to the data.

const char myStaticData[] = "This is the right way".


const char * myStaticData = "Avoid this way".

Two dimensional arrays may be specified in a similar way - see


s_szPdfVersions in PdfDefines.{cpp,h} . It’s usually better to waste a few
bytes by padding the array to the length of the longest member and get it
into the readonly data section of the executable than it is to use an array
of pointers to char and save a few bytes. Which is best is, however, dependent
on what "a few bytes" is in a given situation.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10 (Codingstyle)

3.4 Use of temporary objects

Where possible, it can be better to use a temporary rather than


storing a named object, eg:

DoSomething( PdfName("blah") );

rather than

PdfName n("blah");
DoSomething( n );

as this makes it easier for the compiler to optimise the call, may reduce
the stack size of the function, etc. Don’t forget to consider the lifetime
of the temporary, however.

3.5 The ‘throw’ qualifier

Under no circumstances use exception specifiers, even the empty exception


specifier ‘throw()’. C++ checked exceptions - when implemented according
to the standard - are essentially useless and may actually be costly. If
you want to tell the compiler a method will not throw (as an optimisation)
use a macro for __declspec(nothrow) instead. podofoapi provides
appropriate macros for use in podofo. (Note that VC++ treats throw() as
__declspec(nothrow) in violation of the standard, but that’s all the more
reason to just use __declspec(nothrow)).

see:
http://msdn2.microsoft.com/en-us/library/49147z04.aspx
http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Function-Attributes.html

3.6 Exported API

PoDoFo draws a distinction between exported and private API on some


platforms (currently Windows DLL builds and gcc 4 with
PODOFO_USE_VISIBILITY). To do this it uses some macros defined in
podofoapi.h to tell the compiler what’s public API that should appear
in the DLL/shared library’s symbol table. The rest is not exported.

This may have several positive effects depending on the particular


platform and compiler. It can result in a smaller binary, better link
times, help the compiler optimise better, and ensure that API intended to
be private to PoDoFo _cannot_ be called from outside it.

If you add new classes to PoDoFo, annotate them with PODOFO_API


as shown in podofoapi.h if they’re intended as public API. If an outside
user will ever need to reference those symbols directly (by constructing
the class, calling its methods, etc) they’re public.

Note that classes that only inherit and implement an abstract interface
(adding no other public methods intended for use outside PoDoFo) that’re
only constructed through a factory or through other PoDoFo classes need
not be exported.

If you have a class that needs to be exported as public API, but it has
quite a few methods that do not need to be externally visible (private
helper methods etc), you can annotate those with the PODOFO_LOCAL macro as
shown in podofoapi.h . This omits just those methods from the symbol
table. Note that if the methods are accessed via public or protected
inline functions it is not safe to make them private.

If in doubt, ask for help on podofo-users. It also helps to build PoDoFo


as a DLL (Windows) or, on UNIX platforms, use gcc4 and enable visibility
support. This will help catch cases where you forgot to export required
API.

3.7 Memory allocations in inlined methods

It’s not safe to (directly) allocate or free


heap memory in an inlined function, because it only works if the same
runtime library is used in the shared library and the executable linking
to the library. Using malloc and/or new in inlined methods will lead to
crashes on MS Windows systems. It might be undetected on Linux systems

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


11

(even though it is bad style on Linux, too), because most processes and
libraries use the same runtime library on a Linux system.

There’s also no point inlining functions that call new / delete /


malloc / free, because the memory allocation is dramatically more
expensive than a mere function call is.

Using STL classes that may perform allocations internally is fine since
they tend to carry their own std::allocator instance (or reference,
anyway) around with them.

3.8 Visibility of 3rd party headers

If at all possible, it’s desirable not to expose the use of 3rd party
headers in the PoDoFo headers. Rather than including headers for required
libraries, try to forward-declare required types and then include the
header in the implementation (.cpp) files. If the header is widely used,
you might want to put it in PdfDefinesPrivate.h . Widely used forward
declarations can go in Pdf3rdPtyForwardDecl.h .

Avoiding exposing used 3rd party headers means that users’ build systems
don’t need to know how to find those headers, and means that users’ programs
don’t get their namespaces polluted by unrelated symbols from libjpeg,
zlib, libtiff, freetype, etc etc etc. As some headers (*cough*freetype*cough*)
aren’t trivial to reliably locate, this can really simplify the build of
tools that use PoDoFo.

This applies to some system headers too. <windows.h> for example is a


difficult and quirky header. Its behaviour is strongly affected by
a variety of preprocessor definitions and it scatters macros everywhere.
We shouldn’t be exposing it to library users, because it’s quite likely
they’ll need to include it with different macro parameters, and theirs
may conflict with ours or vice versa.

If you need to include a 3rd party header to make something a direct


member, consider making it a member by pointer instead, initializing
it in the object’s ctor and destroying it it the dtor. That way you
don’t need to include the 3rd party’s header to get access to their
type sizes in the PoDoFo headers, only in the .cpp files. See, for example,
PdfMutex.h .

4. Structure
============

4.1 Project structure

The PoDoFo project is structure as follows.

There are two libraries: podofo-base and podofo-doc. Podofo-base contains


everythign needed to work with reading, writing and modifying PDF files and
there objects. It should have a minimal set of dependencies. Podofo-doc
provides a rich interface, which also allows to easily create PDF files using
the PdfPainter and PdfFont infrastructure.

Additionally, there are two more projects. The test/ subdirectory contains
tests for both libraries. All new tests shall go to the test/unit/
sub-projects to provide unit-tests for PoDoFo. Utility programs that come with
PoDoFo go into the tools/ subdirectory. These tools provide a direct benefit
for end users who want to work with PDF files on the commandline and are also
a nice way to showcase the features of the PoDoFo libraries to new
developers.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


12 (Codingstyle)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 5

Namespace Index

5.1 Namespace List

Here is a list of all documented namespaces with brief descriptions:


PoDoFo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14 Namespace Index

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 6

Hierarchical Index

6.1 Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:


PoDoFo::MD5Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PoDoFo::NamedColorComparatorPredicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PoDoFo::PdfVecObjects::Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PoDoFo::PdfImmediateWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
PoDoFo::PdfCanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
PoDoFo::PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
PoDoFo::PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
PoDoFo::PdfImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
PoDoFo::PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
PoDoFo::PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
PoDoFo::PdfDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
PoDoFo::PdfArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PoDoFo::PdfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
PoDoFo::PdfDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
PoDoFo::PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
PoDoFo::PdfReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
PoDoFo::PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
PoDoFo::PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
PoDoFo::PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
PoDoFo::PdfDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
PoDoFo::PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
PoDoFo::PdfStreamedDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
PoDoFo::PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
PoDoFo::PdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
PoDoFo::PdfAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
PoDoFo::PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
PoDoFo::PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
PoDoFo::PdfExtGState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
PoDoFo::PdfFileSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PoDoFo::PdfFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
PoDoFo::PdfFontCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
PoDoFo::PdfFontSimple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
PoDoFo::PdfFontTrueType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
PoDoFo::PdfFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
PoDoFo::PdfFontType1Base14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
PoDoFo::PdfFontType3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
16 Hierarchical Index

PoDoFo::PdfFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
PoDoFo::PdfExponentialFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
PoDoFo::PdfSampledFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
PoDoFo::PdfStitchingFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
PoDoFo::PdfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
PoDoFo::PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
PoDoFo::PdfOutlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
PoDoFo::PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
PoDoFo::PdfPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
PoDoFo::PdfShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
PoDoFo::PdfAxialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
PoDoFo::PdfFunctionBaseShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
PoDoFo::PdfRadialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
PoDoFo::PdfTriangleShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
PoDoFo::PdfTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
PoDoFo::PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
PoDoFo::PdfEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
PoDoFo::PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
PoDoFo::PdfIdentityEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
PoDoFo::PdfSimpleEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
PoDoFo::PdfDocEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
PoDoFo::PdfMacRomanEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
PoDoFo::PdfStandardEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
PoDoFo::PdfSymbolEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
PoDoFo::PdfWinAnsiEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
PoDoFo::PdfIso88592Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
PoDoFo::PdfWin1250Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
PoDoFo::PdfZapfDingbatsEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
PoDoFo::PdfEncodingDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
PoDoFo::PdfEncodingFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
PoDoFo::PdfEncodingObjectFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
PoDoFo::PdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
PoDoFo::PdfEncryptAESBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
PoDoFo::PdfEncryptAESV2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
PoDoFo::PdfEncryptRC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
PoDoFo::PdfEncryptRC4Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
PoDoFo::PdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
PoDoFo::PdfExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
PoDoFo::PdfFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
PoDoFo::PdfAscii85Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PoDoFo::PdfFlateFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
PoDoFo::PdfHexFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
PoDoFo::PdfLZWFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
PoDoFo::PdfRLEFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
PoDoFo::PdfFilterFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
PoDoFo::PdfFontCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
PoDoFo::PdfFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
PoDoFo::PdfFontFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
PoDoFo::PdfFontMetrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
PoDoFo::PdfFontTTFSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
PoDoFo::PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
PoDoFo::PdfInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
PoDoFo::PdfDeviceInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
PoDoFo::PdfFileInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
PoDoFo::PdfMemoryInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
PoDoFo::PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


6.1 Class Hierarchy 17

PoDoFo::PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
PoDoFo::PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
PoDoFo::Util::PdfMutexImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
PoDoFo::Util::PdfMutexWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
PoDoFo::PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
PoDoFo::PdfObjectStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
PoDoFo::PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
PoDoFo::PdfSignOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
PoDoFo::PdfOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
PoDoFo::PdfBufferOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
PoDoFo::PdfDeviceOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
PoDoFo::PdfFileOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
PoDoFo::PdfFilteredDecodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
PoDoFo::PdfFilteredEncodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
PoDoFo::PdfMemoryOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
PoDoFo::PdfPagesTreeCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
PoDoFo::PdfPainter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
PoDoFo::PdfPainterMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
PoDoFo::PdfPredictorDecoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
PoDoFo::PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
PoDoFo::PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
PoDoFo::PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
PoDoFo::PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
PoDoFo::PdfSignatureField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
PoDoFo::PdfStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
PoDoFo::PdfFileStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PoDoFo::PdfMemStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
PoDoFo::PdfTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
PoDoFo::PdfTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
PoDoFo::PdfSimpleTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
PoDoFo::PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
PoDoFo::PdfTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
PoDoFo::PdfContentsTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
PoDoFo::PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
PoDoFo::PdfParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
PoDoFo::PdfXRefStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
PoDoFo::NonPublic::PdfTTFWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
PoDoFo::PdfType1Encrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
PoDoFo::PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
PoDoFo::PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
PoDoFo::PdfParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
PoDoFo::PdfVecObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
PoDoFo::PdfWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
PoDoFo::PdfImmediateWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
PoDoFo::PdfXRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
PoDoFo::PdfXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
PoDoFo::PdfVecObjects::StreamFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
PoDoFo::PdfImmediateWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
PoDoFo::TFontCacheElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


18 Hierarchical Index

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 7

Class Index

7.1 Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
PoDoFo::MD5Context
Structure representing an MD5 context while ecrypting. (For internal use only) . . . . . . . . . 39
PoDoFo::NamedColorComparatorPredicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PoDoFo::PdfVecObjects::Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PoDoFo::PdfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
PoDoFo::PdfAnnotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
PoDoFo::PdfArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PoDoFo::PdfAscii85Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PoDoFo::PdfAxialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
PoDoFo::PdfBufferOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
PoDoFo::PdfCanvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
PoDoFo::PdfCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
PoDoFo::PdfColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
PoDoFo::PdfComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
PoDoFo::PdfContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
PoDoFo::PdfContentsTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
PoDoFo::PdfData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
PoDoFo::PdfDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
PoDoFo::PdfDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
PoDoFo::PdfDestination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
PoDoFo::PdfDeviceInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
PoDoFo::PdfDeviceOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
PoDoFo::PdfDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
PoDoFo::PdfDifferenceEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
PoDoFo::PdfDocEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
PoDoFo::PdfDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
PoDoFo::PdfElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
PoDoFo::PdfEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
PoDoFo::PdfEncodingDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
PoDoFo::PdfEncodingFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
PoDoFo::PdfEncodingObjectFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
PoDoFo::PdfEncrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
PoDoFo::PdfEncryptAESBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
PoDoFo::PdfEncryptAESV2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
PoDoFo::PdfEncryptRC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
PoDoFo::PdfEncryptRC4Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
PoDoFo::PdfError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
PoDoFo::PdfExponentialFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
20 Class Index

PoDoFo::PdfExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
PoDoFo::PdfExtGState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
PoDoFo::PdfFileInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
PoDoFo::PdfFileOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
PoDoFo::PdfFileSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PoDoFo::PdfFileStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PoDoFo::PdfFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
PoDoFo::PdfFilteredDecodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
PoDoFo::PdfFilteredEncodeStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
PoDoFo::PdfFilterFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
PoDoFo::PdfFlateFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
PoDoFo::PdfFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
PoDoFo::PdfFontCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
PoDoFo::PdfFontCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
PoDoFo::PdfFontConfigWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
PoDoFo::PdfFontFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
PoDoFo::PdfFontMetrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
PoDoFo::PdfFontSimple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
PoDoFo::PdfFontTrueType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
PoDoFo::PdfFontTTFSubset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
PoDoFo::PdfFontType1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
PoDoFo::PdfFontType1Base14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
PoDoFo::PdfFontType3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
PoDoFo::PdfFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
PoDoFo::PdfFunctionBaseShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
PoDoFo::PdfHexFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
PoDoFo::PdfIdentityEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
PoDoFo::PdfImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
PoDoFo::PdfImmediateWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
PoDoFo::PdfInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
PoDoFo::PdfInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
PoDoFo::PdfInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
PoDoFo::PdfIso88592Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
PoDoFo::PdfListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
PoDoFo::PdfListField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
PoDoFo::PdfLZWFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
PoDoFo::PdfMacRomanEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
PoDoFo::PdfMemDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
PoDoFo::PdfMemoryInputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
PoDoFo::PdfMemoryOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
PoDoFo::PdfMemStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
PoDoFo::Util::PdfMutexImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
PoDoFo::Util::PdfMutexWrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
PoDoFo::PdfName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
PoDoFo::PdfNamedColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
PoDoFo::PdfObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
PoDoFo::PdfObjectStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
PoDoFo::PdfOutlineItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
PoDoFo::PdfOutlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
PoDoFo::PdfOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
PoDoFo::PdfOutputStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
PoDoFo::PdfPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
PoDoFo::PdfPagesTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
PoDoFo::PdfPagesTreeCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
PoDoFo::PdfPainter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
PoDoFo::PdfPainterMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
PoDoFo::PdfParser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
PoDoFo::PdfParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


7.1 Class List 21

PoDoFo::PdfPredictorDecoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
PoDoFo::PdfPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
PoDoFo::PdfRadialShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
PoDoFo::PdfRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
PoDoFo::PdfRefCountedBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
PoDoFo::PdfRefCountedInputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
PoDoFo::PdfReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
PoDoFo::PdfRLEFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
PoDoFo::PdfSampledFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
PoDoFo::PdfShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
PoDoFo::PdfSignatureField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
PoDoFo::PdfSignOutputDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
PoDoFo::PdfSimpleEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
PoDoFo::PdfSimpleTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
PoDoFo::PdfStandardEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
PoDoFo::PdfStitchingFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
PoDoFo::PdfStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
PoDoFo::PdfStreamedDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
PoDoFo::PdfString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
PoDoFo::PdfSymbolEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
PoDoFo::PdfTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
PoDoFo::PdfTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
PoDoFo::PdfTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
PoDoFo::PdfTilingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
PoDoFo::PdfTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
PoDoFo::PdfTriangleShadingPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
PoDoFo::NonPublic::PdfTTFWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
PoDoFo::PdfType1Encrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
PoDoFo::PdfVariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
PoDoFo::PdfVecObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
PoDoFo::PdfWin1250Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
PoDoFo::PdfWinAnsiEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
PoDoFo::PdfWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
PoDoFo::PdfXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
PoDoFo::PdfXRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
PoDoFo::PdfXRefStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
PoDoFo::PdfXRefStreamParserObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
PoDoFo::PdfZapfDingbatsEncoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
PoDoFo::PdfVecObjects::StreamFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
PoDoFo::TFontCacheElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


22 Class Index

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 8

File Index

8.1 File List

Here is a list of all documented files with brief descriptions:


PdfDefines.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
PdfError.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
PdfFiltersPrivate.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
24 File Index

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 9

Namespace Documentation

9.1 PoDoFo Namespace Reference

Classes

• struct MD5Context
Structure representing an MD5 context while ecrypting. (For internal use only)
• class NamedColorComparatorPredicate
• class PdfAction
• class PdfAnnotation
• class PdfArray
• class PdfAscii85Filter
• class PdfAxialShadingPattern
• class PdfBufferOutputStream
• class PdfCanvas
• class PdfCheckBox
• class PdfColor
• class PdfComboBox
• class PdfContents
• class PdfContentsTokenizer
• class PdfData
• class PdfDataType
• class PdfDate
• class PdfDestination
• class PdfDeviceInputStream
• class PdfDeviceOutputStream
• class PdfDictionary
• class PdfDifferenceEncoding
• class PdfDocEncoding
• class PdfDocument
• class PdfElement
• class PdfEncoding
• class PdfEncodingDifference
• class PdfEncodingFactory
• class PdfEncodingObjectFactory
• class PdfEncrypt
• class PdfEncryptAESBase
• class PdfEncryptAESV2
• class PdfEncryptRC4
• class PdfEncryptRC4Base
26 Namespace Documentation

• class PdfError
• class PdfExponentialFunction
• class PdfExtension
• class PdfExtGState
• class PdfFileInputStream
• class PdfFileOutputStream
• class PdfFileSpec
• class PdfFileStream
• class PdfFilter
• class PdfFilteredDecodeStream
• class PdfFilteredEncodeStream
• class PdfFilterFactory
• class PdfFlateFilter
• class PdfFont
• class PdfFontCache
• class PdfFontCID
• class PdfFontConfigWrapper
• class PdfFontFactory
• class PdfFontMetrics
• class PdfFontSimple
• class PdfFontTrueType
• class PdfFontTTFSubset
• class PdfFontType1
• class PdfFontType1Base14
• class PdfFontType3
• class PdfFunction
• class PdfFunctionBaseShadingPattern
• class PdfHexFilter
• class PdfIdentityEncoding
• class PdfImage
• class PdfImmediateWriter
• class PdfInfo
• class PdfInputDevice
• class PdfInputStream
• class PdfIso88592Encoding
• class PdfListBox
• class PdfListField
• class PdfLZWFilter
• class PdfMacRomanEncoding
• class PdfMemDocument
• class PdfMemoryInputStream
• class PdfMemoryOutputStream
• class PdfMemStream
• class PdfName
• class PdfNamedColor
• class PdfObject
• class PdfObjectStreamParserObject
• class PdfOutlineItem
• class PdfOutlines
• class PdfOutputDevice
• class PdfOutputStream
• class PdfPage
• class PdfPagesTree
• class PdfPagesTreeCache
• class PdfPainter

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 27

• class PdfPainterMM
• class PdfParser
• class PdfParserObject
• class PdfPredictorDecoder
• class PdfPushButton
• class PdfRadialShadingPattern
• class PdfRect
• class PdfRefCountedBuffer
• class PdfRefCountedInputDevice
• class PdfReference
• class PdfRLEFilter
• class PdfSampledFunction
• class PdfShadingPattern
• class PdfSignatureField
• class PdfSignOutputDevice
• class PdfSimpleEncoding
• class PdfSimpleTableModel
• class PdfStandardEncoding
• class PdfStitchingFunction
• class PdfStream
• class PdfStreamedDocument
• class PdfString
• class PdfSymbolEncoding
• class PdfTable
• class PdfTableModel
• class PdfTextField
• class PdfTilingPattern
• class PdfTokenizer
• class PdfTriangleShadingPattern
• class PdfType1Encrypt
• class PdfVariant
• class PdfVecObjects
• class PdfWin1250Encoding
• class PdfWinAnsiEncoding
• class PdfWriter
• class PdfXObject
• class PdfXRef
• class PdfXRefStream
• class PdfXRefStreamParserObject
• class PdfZapfDingbatsEncoding
• struct TFontCacheElement

Typedefs

• typedef struct PoDoFo::MD5Context MD5_CTX


Structure representing an MD5 context while ecrypting. (For internal use only)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


28 Namespace Documentation

Enumerations

• enum EPdfContentsType { ePdfContentsType_Keyword, ePdfContentsType_Variant, ePdfContentsType_←-


ImageData }
• enum EPdfVersion {
ePdfVersion_1_0 = 0, ePdfVersion_1_1, ePdfVersion_1_2, ePdfVersion_1_3,
ePdfVersion_1_4, ePdfVersion_1_5, ePdfVersion_1_6, ePdfVersion_1_7 }
• enum EPdfWriteMode { ePdfWriteMode_Compact = 0x01, ePdfWriteMode_Clean = 0x02 }
• enum EPdfDataType {
ePdfDataType_Bool, ePdfDataType_Number, ePdfDataType_Real, ePdfDataType_String,
ePdfDataType_HexString, ePdfDataType_Name, ePdfDataType_Array, ePdfDataType_Dictionary,
ePdfDataType_Null, ePdfDataType_Reference, ePdfDataType_RawData, ePdfDataType_Unknown }
• enum EPdfFilter { ePdfFilter_ASCIIHexDecode, ePdfFilter_ASCII85Decode , ePdfFilter_FlateDecode, e←-
PdfFilter_RunLengthDecode }
• enum EPdfFontType
• enum EPdfColorSpace {
ePdfColorSpace_DeviceGray, ePdfColorSpace_DeviceRGB, ePdfColorSpace_DeviceCMYK, ePdfColor←-
Space_Separation,
ePdfColorSpace_CieLab, ePdfColorSpace_Indexed }
• enum EPdfTextRenderingMode {
ePdfTextRenderingMode_Fill = 0, ePdfTextRenderingMode_Stroke, ePdfTextRenderingMode_FillAndStroke,
ePdfTextRenderingMode_Invisible,
ePdfTextRenderingMode_FillToClipPath, ePdfTextRenderingMode_StrokeToClipPath, ePdfTextRendering←-
Mode_FillAndStrokeToClipPath, ePdfTextRenderingMode_ToClipPath }
• enum EPdfStrokeStyle
• enum EPdfTilingPatternType
• enum EPdfLineCapStyle
• enum EPdfLineJoinStyle
• enum EPdfVerticalAlignment
• enum EPdfAlignment
• enum EPdfPageSize {
ePdfPageSize_A0, ePdfPageSize_A1, ePdfPageSize_A2, ePdfPageSize_A3,
ePdfPageSize_A4, ePdfPageSize_A5, ePdfPageSize_A6, ePdfPageSize_Letter,
ePdfPageSize_Legal, ePdfPageSize_Tabloid }
• enum EPdfPageMode
• enum EPdfPageLayout
• enum EPdfError {
ePdfError_ErrOk = 0, ePdfError_TestFailed, ePdfError_InvalidHandle, ePdfError_FileNotFound,
ePdfError_InvalidDeviceOperation, ePdfError_UnexpectedEOF, ePdfError_OutOfMemory, ePdfError_←-
ValueOutOfRange,
ePdfError_InternalLogic, ePdfError_InvalidEnumValue, ePdfError_PageNotFound, ePdfError_NoPdfFile,
ePdfError_NoXRef, ePdfError_NoTrailer, ePdfError_NoNumber, ePdfError_NoObject,
ePdfError_NoEOFToken, ePdfError_InvalidTrailerSize, ePdfError_InvalidLinearization, ePdfError_Invalid←-
DataType,
ePdfError_InvalidXRef, ePdfError_InvalidXRefStream, ePdfError_InvalidXRefType, ePdfError_Invalid←-
Predictor,
ePdfError_InvalidStrokeStyle, ePdfError_InvalidHexString, ePdfError_InvalidStream, ePdfError_Invalid←-
StreamLength,
ePdfError_InvalidKey, ePdfError_InvalidName, ePdfError_InvalidEncryptionDict, ePdfError_InvalidPassword,
ePdfError_InvalidFontFile, ePdfError_InvalidContentStream, ePdfError_UnsupportedFilter, ePdfError_←-
UnsupportedFontFormat,
ePdfError_ActionAlreadyPresent, ePdfError_WrongDestinationType, ePdfError_MissingEndStream, ePdf←-
Error_Date,
ePdfError_Flate, ePdfError_FreeType, ePdfError_SignatureError, ePdfError_MutexError,
ePdfError_UnsupportedImageFormat, ePdfError_CannotConvertColor, ePdfError_NotImplemented, ePdf←-
Error_DestinationAlreadyPresent,
ePdfError_ChangeOnImmutable, ePdfError_NotCompiled, ePdfError_Unknown = 0xffff }

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 29

• enum ELogSeverity {
eLogSeverity_Critical, eLogSeverity_Error, eLogSeverity_Warning, eLogSeverity_Information,
eLogSeverity_Debug, eLogSeverity_None, eLogSeverity_Unknown = 0xffff }
• enum EPdfAcroFormDefaulAppearance { ePdfAcroFormDefaultAppearance_None, ePdfAcroFormDefault←-
Appearance_BlackText12pt }
• enum EPdfAction
• enum EPdfAnnotation
• enum EPdfAnnotationFlags
• enum EPdfDestinationType
• enum EPdfField
• enum EPdfHighlightingMode { ePdfHighlightingMode_None, ePdfHighlightingMode_Invert, ePdf←-
HighlightingMode_InvertOutline, ePdfHighlightingMode_Push }
• enum EPdfFunctionType { ePdfFunctionType_Sampled = 0, ePdfFunctionType_Exponential = 2, ePdf←-
FunctionType_Stitching = 3, ePdfFunctionType_PostScript = 4 }
• enum EPdfOutlineFormat { ePdfOutlineFormat_Default = 0x00, ePdfOutlineFormat_Italic = 0x01, ePdf←-
OutlineFormat_Bold = 0x02, ePdfOutlineFormat_BoldItalic = 0x03 }

Functions

• template<typename T >
const T PDF_MAX (const T a, const T b)
• template<typename T >
const T PDF_MIN (const T a, const T b)
• void PdfLocaleImbue (std::ios_base &s)
• bool podofo_is_little_endian ()
• void ∗ podofo_malloc (size_t size)
• void ∗ podofo_calloc (size_t nmemb, size_t size)
• void ∗ podofo_realloc (void ∗buffer, size_t size)
• void podofo_free (void ∗buffer)

Variables

• const EPdfVersion ePdfVersion_Default = ePdfVersion_1_3


• const int s_nNumWhiteSpaces = 6
PDF Reference, Section 3.1.1, Table 3.1, White-space characters.

9.1.1 Detailed Description

All classes, functions, types and enums of PoDoFo are members of these namespace.
If you use PoDoFo, you might want to add the line: using namespace PoDoFo; to your application.
PODOFO_USE_UNORDERED_MAP
If you set this define, PoDoFo will use std::tr1::unordered_map instead of std::map for PdfDictionary.
Some benchmarking tests using callgrind have shown that unordered_map is a little faster for writing and AddKey
but of course slower for GetKey and HasKey. As PdfDictionaries are usually very small the difference for GetKey
and HasKey is not very large and should therefore be rarely noticeable.
By default this define is not set and std::map will be used.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


30 Namespace Documentation

9.1.2 Enumeration Type Documentation

9.1.2.1 enum PoDoFo::ELogSeverity

Used in PdfError::LogMessage to specify the log level.

See also

PdfError::LogMessage

Enumerator

eLogSeverity_Critical Critical unexpected error


eLogSeverity_Error Error
eLogSeverity_Warning Warning
eLogSeverity_Information Information message
eLogSeverity_Debug Debug information
eLogSeverity_None No specified level
eLogSeverity_Unknown Unknown log level

9.1.2.2 enum PoDoFo::EPdfAcroFormDefaulAppearance

Enumerator

ePdfAcroFormDefaultAppearance_None Do not add a default appearrance.


ePdfAcroFormDefaultAppearance_BlackText12pt Add a default appearance with Arial embedded and
black text 12pt if no other DA key is present.

9.1.2.3 enum PoDoFo::EPdfAction

The type of the action. PDF supports different action types, each of them has different keys and propeties.
Not all action types listed here are supported yet.
Please make also sure that the action type you use is supported by the PDF version you are using.

9.1.2.4 enum PoDoFo::EPdfAlignment

Enum for text alignment

9.1.2.5 enum PoDoFo::EPdfAnnotation

The type of the annotation. PDF supports different annotation types, each of them has different keys and propeties.
Not all annotation types listed here are supported yet.
Please make also sure that the annotation type you use is supported by the PDF version you are using.

9.1.2.6 enum PoDoFo::EPdfAnnotationFlags

Flags that control the appearance of a PdfAnnotation. You can OR them together and pass it to PdfAnnotation::←-
SetFlags.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 31

9.1.2.7 enum PoDoFo::EPdfColorSpace

Enum for the colorspaces supported by PDF.

Enumerator

ePdfColorSpace_DeviceGray Gray
ePdfColorSpace_DeviceRGB RGB
ePdfColorSpace_DeviceCMYK CMYK
ePdfColorSpace_Separation Separation
ePdfColorSpace_CieLab CIE-Lab
ePdfColorSpace_Indexed Indexed

9.1.2.8 enum PoDoFo::EPdfContentsType

An enum describing the type of a read token

Enumerator

ePdfContentsType_Keyword The token is a PDF keyword.


ePdfContentsType_Variant The token is a PDF variant. A variant is usually a parameter to a keyword
ePdfContentsType_ImageData The "token" is raw inline image data found between ID and EI tags (see PDF
ref section 4.8.6)

9.1.2.9 enum PoDoFo::EPdfDataType

Every PDF datatype that can occur in a PDF file is referenced by an own enum (e.g. Bool or String).

See also

PdfVariant

Remember to update PdfVariant::GetDataTypeString() when adding members here.

Enumerator

ePdfDataType_Bool Boolean datatype: Accepts the values "true" and "false"


ePdfDataType_Number Number datatype for integer values
ePdfDataType_Real Real datatype for floating point numbers
ePdfDataType_String String datatype in PDF file. Strings have the form (Hallo World!) in PDF files.
See also

PdfString

ePdfDataType_HexString HexString datatype in PDF file. Hex encoded strings have the form <AF00BE> in
PDF files.
See also

PdfString

ePdfDataType_Name Name datatype. Names are used as keys in dictionary to reference values.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


32 Namespace Documentation

See also

PdfName

ePdfDataType_Array An array of other PDF data types.


ePdfDataType_Dictionary A dictionary associates keys with values. A key can have another dictionary as
value.
ePdfDataType_Null The null datatype is always null.
ePdfDataType_Reference The reference datatype contains references to PDF objects in the PDF file of the
form 4 0 R.
See also

PdfObject

ePdfDataType_RawData Raw PDF data


ePdfDataType_Unknown The Datatype is unknown

9.1.2.10 enum PoDoFo::EPdfDestinationType

Destination type, as per 12.3.2.2 of the Pdf spec.


(see table 151 in the pdf spec)

9.1.2.11 enum PoDoFo::EPdfError

Error Code defines which are used in PdfError to describe the error.
If you add an error code to this enum, please also add it to PdfError::ErrorName() and PdfError::ErrorMessage().

See also

PdfError

Enumerator

ePdfError_ErrOk The default value indicating no error.


ePdfError_TestFailed Used in PoDoFo tests, to indicate that a test failed for some reason.
ePdfError_InvalidHandle Null pointer was passed, but null pointer is not allowed.
ePdfError_FileNotFound A file was not found or cannot be opened.
ePdfError_InvalidDeviceOperation Tried to do something unsupported to an I/O device like seek a non-
seekable input device
ePdfError_UnexpectedEOF End of file was reached but data was expected.
ePdfError_OutOfMemory Not enough memory to complete an operation.
ePdfError_ValueOutOfRange The specified memory is out of the allowed range.
ePdfError_InternalLogic An internal sanity check or assertion failed.
ePdfError_InvalidEnumValue An invalid enum value was specified.
ePdfError_PageNotFound The requested page could not be found in the PDF.
ePdfError_NoPdfFile The file is no PDF file.
ePdfError_NoXRef The PDF file has no or an invalid XRef table.
ePdfError_NoTrailer The PDF file has no or an invalid trailer.
ePdfError_NoNumber A number was expected in the PDF file, but the read string is no number.
ePdfError_NoObject A object was expected and none was found.
ePdfError_NoEOFToken The PDF file has no or an invalid EOF marker.
ePdfError_InvalidTrailerSize The trailer size is invalid.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 33

ePdfError_InvalidLinearization The linearization directory of a web-optimized PDF file is invalid.


ePdfError_InvalidDataType The passed datatype is invalid or was not recognized
ePdfError_InvalidXRef The XRef table is invalid
ePdfError_InvalidXRefStream A XRef steam is invalid
ePdfError_InvalidXRefType The XRef type is invalid or was not found
ePdfError_InvalidPredictor Invalid or unimplemented predictor
ePdfError_InvalidStrokeStyle Invalid stroke style during drawing
ePdfError_InvalidHexString Invalid hex string
ePdfError_InvalidStream The stream is invalid
ePdfError_InvalidStreamLength The stream length is invlaid
ePdfError_InvalidKey The specified key is invalid
ePdfError_InvalidName The specified Name is not valid in this context
ePdfError_InvalidEncryptionDict The encryption dictionary is invalid or misses a required key
ePdfError_InvalidPassword The password used to open the PDF file was invalid
ePdfError_InvalidFontFile The font file is invalid
ePdfError_InvalidContentStream The content stream is invalid due to mismatched context pairing or other
problems
ePdfError_UnsupportedFilter The requested filter is not yet implemented.
ePdfError_UnsupportedFontFormat This font format is not supported by PoDoFo.
ePdfError_ActionAlreadyPresent An Action was already present when trying to add a Destination
ePdfError_WrongDestinationType The requested field is not available for the given destination type
ePdfError_MissingEndStream The required token endstream was not found.
ePdfError_Date Date/time error
ePdfError_Flate Error in zlib
ePdfError_FreeType Error in FreeType
ePdfError_SignatureError Error in signature
ePdfError_MutexError Error during a mutex operation
ePdfError_UnsupportedImageFormat This image format is not supported by PoDoFo.
ePdfError_CannotConvertColor This color format cannot be converted.
ePdfError_NotImplemented This feature is currently not implemented.
ePdfError_DestinationAlreadyPresent An destination was already present when trying to add an Action
ePdfError_ChangeOnImmutable Changing values on immutable objects is not allowed.
ePdfError_NotCompiled This feature was disabled at compile time.
ePdfError_Unknown Unknown error

9.1.2.12 enum PoDoFo::EPdfField

The type of PDF field

9.1.2.13 enum PoDoFo::EPdfFilter

Every filter that can be used to encode a stream in a PDF file is referenced by an own enum value. Common filters
are ePdfFilter_FlateDecode (i.e. Zip) or ePdfFilter_ASCIIHexDecode

Enumerator

ePdfFilter_ASCIIHexDecode Converts data from and to hexadecimal. Increases size of the data by a factor
of 2!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


34 Namespace Documentation

See also

PdfHexFilter
ePdfFilter_ASCII85Decode Converts to and from Ascii85 encoding.
See also

PdfAscii85Filter
ePdfFilter_FlateDecode Compress data using the Flate algorithm of ZLib. This filter is recommended to be
used always.
See also

PdfFlateFilter
ePdfFilter_RunLengthDecode Run length decode data.
See also

PdfRLEFilter

9.1.2.14 enum PoDoFo::EPdfFontType

Enum for the different font formats supported by PoDoFo

9.1.2.15 enum PoDoFo::EPdfFunctionType

The function type of a mathematical function in a PDF file.

Enumerator

ePdfFunctionType_Sampled A sampled function (Type1)


ePdfFunctionType_Exponential An exponential interpolation function (Type2)
ePdfFunctionType_Stitching A stitching function (Type3)
ePdfFunctionType_PostScript A PostScript calculator function (Type4)

9.1.2.16 enum PoDoFo::EPdfHighlightingMode

The possible highlighting modes for a PdfField. I.e the visual effect that is to be used when the mouse button is
pressed.
The default value is ePdfHighlightingMode_Invert

Enumerator

ePdfHighlightingMode_None Do no highlighting.
ePdfHighlightingMode_Invert Invert the PdfField.
ePdfHighlightingMode_InvertOutline Invert the fields border.
ePdfHighlightingMode_Push Display the fields down appearance (requires an additional appearance stream
to be set)

9.1.2.17 enum PoDoFo::EPdfLineCapStyle

Enum for line cap styles when drawing.

9.1.2.18 enum PoDoFo::EPdfLineJoinStyle

Enum for line join styles when drawing.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 35

9.1.2.19 enum PoDoFo::EPdfOutlineFormat

The title of an outline item can be displayed in different formating styles since PDF 1.4.

Enumerator

ePdfOutlineFormat_Default Default format


ePdfOutlineFormat_Italic Italic
ePdfOutlineFormat_Bold Bold
ePdfOutlineFormat_BoldItalic Bold Italic

9.1.2.20 enum PoDoFo::EPdfPageLayout

Enum holding the supported of types of "PageLayouts" that define how Acrobat will display the pages in relation to
each other

See also

PdfDocument

9.1.2.21 enum PoDoFo::EPdfPageMode

Enum holding the supported of types of "PageModes" that define which (if any) of the "panels" are opened in Acrobat
when the document is opened.

See also

PdfDocument

9.1.2.22 enum PoDoFo::EPdfPageSize

Enum holding the supported page sizes by PoDoFo. Can be used to construct a PdfRect structure with measure-
ments of a page object.

See also

PdfPage

Enumerator

ePdfPageSize_A0 DIN A0
ePdfPageSize_A1 DIN A1
ePdfPageSize_A2 DIN A2
ePdfPageSize_A3 DIN A3
ePdfPageSize_A4 DIN A4
ePdfPageSize_A5 DIN A5
ePdfPageSize_A6 DIN A6
ePdfPageSize_Letter Letter
ePdfPageSize_Legal Legal
ePdfPageSize_Tabloid Tabloid

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


36 Namespace Documentation

9.1.2.23 enum PoDoFo::EPdfStrokeStyle

Enum for the different stroke styles that can be set when drawing to a PDF file (mostly for line drawing).

9.1.2.24 enum PoDoFo::EPdfTextRenderingMode

Enum for text rendering mode (Tr)

Enumerator

ePdfTextRenderingMode_Fill Default mode, fill text


ePdfTextRenderingMode_Stroke Stroke text
ePdfTextRenderingMode_FillAndStroke Fill, then stroke text
ePdfTextRenderingMode_Invisible Neither fill nor stroke text (invisible)
ePdfTextRenderingMode_FillToClipPath Fill text and add to path for clipping
ePdfTextRenderingMode_StrokeToClipPath Stroke text and add to path for clipping
ePdfTextRenderingMode_FillAndStrokeToClipPath Fill, then stroke text and add to path for clipping
ePdfTextRenderingMode_ToClipPath Add text to path for clipping

9.1.2.25 enum PoDoFo::EPdfTilingPatternType

Enum for predefined tiling patterns.

9.1.2.26 enum PoDoFo::EPdfVersion

Enum to identify diferent versions of the PDF file format

Enumerator

ePdfVersion_1_0 PDF 1.0


ePdfVersion_1_1 PDF 1.1
ePdfVersion_1_2 PDF 1.2
ePdfVersion_1_3 PDF 1.3
ePdfVersion_1_4 PDF 1.4
ePdfVersion_1_5 PDF 1.5
ePdfVersion_1_6 PDF 1.6
ePdfVersion_1_7 PDF 1.7

9.1.2.27 enum PoDoFo::EPdfVerticalAlignment

Enum for vertical text alignment

9.1.2.28 enum PoDoFo::EPdfWriteMode

Specify additional options for writing the PDF.

Enumerator

ePdfWriteMode_Compact Try to write the PDF as compact as possible (Default)


ePdfWriteMode_Clean Create a PDF that is readable in a text editor, i.e. insert spaces and linebreaks
between tokens.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


9.1 PoDoFo Namespace Reference 37

9.1.3 Function Documentation

9.1.3.1 template<typename T > const T PoDoFo::PDF_MAX ( const T a, const T b )

PDF_MAX(x,y)

Returns

the maximum of x and y

9.1.3.2 template<typename T > const T PoDoFo::PDF_MIN ( const T a, const T b )

PDF_MIN(x,y)

Returns

the minimum of x and y

9.1.3.3 void PODOFO_API PoDoFo::PdfLocaleImbue ( std::ios_base & )

Imbue the passed stream with a locale that will be safe to do I/O of the low level PDF format with.
PDF document structure I/O is done with the C++ standard library IOStreams code. By default, this will adapt to
the current locale. That's not good at all when doing I/O of PDF data structures, which follow POSIX/english locale
conventions irrespective of runtime locale. Make sure to to call this function on any stream you intend to use for
PDF I/O. Avoid using this stream for anything that should be done in the regional locale.

Warning

This method may throw ePdfError_InvalidDeviceOperation if your STL does not support the locale string in
PdfIOLocale .

If you fail to call this on a stream you use for PDF I/O you will encounter problems like German and other European
users getting numbers in the format "10110,4" or even "10.110,4" instead of "10110.4" .

9.1.3.4 PODOFO_API void ∗ PoDoFo::podofo_calloc ( size_t count, size_t size )

Wrapper around calloc of the c-library used by PoDoFo.


Is used to allocate buffers inside of PoDoFo, guarding against count∗size size_t overflow.

9.1.3.5 PODOFO_API void PoDoFo::podofo_free ( void ∗ buffer )

Wrapper around free of the c-library used by PoDoFo.


Use this to free memory allocated inside of PoDoFo with podofo_malloc.

9.1.3.6 bool PoDoFo::podofo_is_little_endian ( )

Check during runtime if the current architecture is big- or little-endian.

Returns

true if the architecture is little-endian

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


38 Namespace Documentation

9.1.3.7 PODOFO_API void ∗ PoDoFo::podofo_malloc ( size_t size )

Wrapper around malloc of the c-library used by PoDoFo.


Is used to allocate buffers inside of PoDoFo.

9.1.3.8 PODOFO_API void ∗ PoDoFo::podofo_realloc ( void ∗ buffer, size_t size )

Wrapper around realloc of the c-library used by PoDoFo.

9.1.4 Variable Documentation

9.1.4.1 const EPdfVersion PoDoFo::ePdfVersion_Default = ePdfVersion_1_3

The default PDF Version used by new PDF documents in PoDoFo.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 10

Class Documentation

10.1 PoDoFo::MD5Context Struct Reference

Structure representing an MD5 context while ecrypting. (For internal use only)

10.1.1 Detailed Description

Structure representing an MD5 context while ecrypting. (For internal use only)

10.2 PoDoFo::NamedColorComparatorPredicate Class Reference

10.2.1 Detailed Description

Predicate to allow binary search in the list of PdfNamedColor's using for example std::equal_range.

10.3 PoDoFo::PdfVecObjects::Observer Class Reference

#include <PdfVecObjects.h>
Inheritance diagram for PoDoFo::PdfVecObjects::Observer:

PoDoFo::PdfVecObjects::Observer

PoDoFo::PdfImmediateWriter

Public Member Functions

• virtual void ParentDestructed ()=0


• virtual void BeginAppendStream (const PdfStream ∗pStream)=0
• virtual void EndAppendStream (const PdfStream ∗pStream)=0

10.3.1 Detailed Description

Every observer of PdfVecObjects has to implement this interface.


40 Class Documentation

10.3.2 Member Function Documentation

10.3.2.1 virtual void PoDoFo::PdfVecObjects::Observer::BeginAppendStream ( const PdfStream ∗ pStream ) [pure


virtual]

Called whenever appending to a stream is started.


Parameters
pStream the stream object the user currently writes to.

10.3.2.2 virtual void PoDoFo::PdfVecObjects::Observer::EndAppendStream ( const PdfStream ∗ pStream ) [pure


virtual]

Called whenever appending to a stream has ended.


Parameters
pStream the stream object the user currently writes to.

10.3.2.3 virtual void PoDoFo::PdfVecObjects::Observer::ParentDestructed ( ) [pure virtual]

This method is called when the observed PdfVecObjects is delted.


No more method may be called on the observable after this method was called on the observer.

10.4 PoDoFo::PdfAction Class Reference

#include <PdfAction.h>
Inheritance diagram for PoDoFo::PdfAction:

PoDoFo::PdfElement

PoDoFo::PdfAction

Public Member Functions

• PdfAction (EPdfAction eAction, PdfVecObjects ∗pParent)


• PdfAction (EPdfAction eAction, PdfDocument ∗pParent)
• PdfAction (PdfObject ∗pObject)
• void SetURI (const PdfString &sUri)
• PdfString GetURI () const
• bool HasURI () const
• EPdfAction GetType () const
• void AddToDictionary (PdfDictionary &dictionary) const

Additional Inherited Members

10.4.1 Detailed Description

An action that can be performed in a PDF document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.4 PoDoFo::PdfAction Class Reference 41

10.4.2 Constructor & Destructor Documentation

10.4.2.1 PoDoFo::PdfAction::PdfAction ( EPdfAction eAction, PdfVecObjects ∗ pParent )

Create a new PdfAction object


Parameters
eAction type of this action
pParent parent of this action

10.4.2.2 PoDoFo::PdfAction::PdfAction ( EPdfAction eAction, PdfDocument ∗ pParent )

Create a new PdfAction object


Parameters
eAction type of this action
pParent parent of this action

10.4.2.3 PoDoFo::PdfAction::PdfAction ( PdfObject ∗ pObject )

Create a PdfAction object from an existing PdfObject

10.4.3 Member Function Documentation

10.4.3.1 void PoDoFo::PdfAction::AddToDictionary ( PdfDictionary & dictionary ) const

Adds this action to an dictionary. This method handles the all the complexities of making sure it's added correctly
If this action is empty. Nothing will be added.
Parameters
dictionary the action will be added to this dictionary

10.4.3.2 EPdfAction PoDoFo::PdfAction::GetType ( ) const [inline]

Get the type of this action

Returns

the type of this action

10.4.3.3 PdfString PoDoFo::PdfAction::GetURI ( ) const

Get the URI of an ePdfAction_URI

Returns

an URI

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


42 Class Documentation

10.4.3.4 bool PoDoFo::PdfAction::HasURI ( ) const

Returns

true if this action has an URI

10.4.3.5 void PoDoFo::PdfAction::SetURI ( const PdfString & sUri )

Set the URI of an ePdfAction_URI


Parameters
sUri must be a correct URI as PdfString

10.5 PoDoFo::PdfAnnotation Class Reference

#include <PdfAnnotation.h>
Inheritance diagram for PoDoFo::PdfAnnotation:

PoDoFo::PdfElement

PoDoFo::PdfAnnotation

Public Member Functions

• PdfAnnotation (PdfPage ∗pPage, EPdfAnnotation eAnnot, const PdfRect &rRect, PdfVecObjects ∗pParent)
• PdfAnnotation (PdfObject ∗pObject, PdfPage ∗pPage)
• void SetAppearanceStream (PdfXObject ∗pObject)
• bool HasAppearanceStream () const
• PdfRect GetRect () const
• void SetFlags (pdf_uint32 uiFlags)
• pdf_uint32 GetFlags () const
• void SetBorderStyle (double dHCorner, double dVCorner, double dWidth)
• void SetBorderStyle (double dHCorner, double dVCorner, double dWidth, const PdfArray &rStrokeStyle)
• void SetTitle (const PdfString &sTitle)
• PdfString GetTitle () const
• void SetContents (const PdfString &sContents)
• PdfString GetContents () const
• void SetDestination (const PdfDestination &rDestination)
• PdfDestination GetDestination (PdfDocument ∗pDoc) const
• bool HasDestination () const
• void SetAction (const PdfAction &rAction)
• PdfAction ∗ GetAction () const
• bool HasAction () const
• void SetOpen (bool b)
• bool GetOpen () const
• bool HasFileAttachement () const
• void SetFileAttachement (const PdfFileSpec &rFileSpec)
• PdfFileSpec ∗ GetFileAttachement () const
• PdfArray GetQuadPoints () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.5 PoDoFo::PdfAnnotation Class Reference 43

• void SetQuadPoints (const PdfArray &rQuadPoints)


• PdfArray GetColor () const
• void SetColor (double r, double g, double b)
• void SetColor (double c, double m, double y, double k)
• void SetColor (double gray)
• void SetColor ()
• EPdfAnnotation GetType () const
• PdfPage ∗ GetPage () const

Additional Inherited Members

10.5.1 Detailed Description

An annotation to a PdfPage To create an annotation use PdfPage::CreateAnnotation

See also

PdfPage::CreateAnnotation

10.5.2 Constructor & Destructor Documentation

10.5.2.1 PoDoFo::PdfAnnotation::PdfAnnotation ( PdfPage ∗ pPage, EPdfAnnotation eAnnot, const PdfRect & rRect,
PdfVecObjects ∗ pParent )

Create a new annotation object


Parameters
pPage the parent page of this annotation
eAnnot type of the annotation
rRect the rectangle in which the annotation will appear on the page
pParent parent of this annotation

See also

PdfPage::CreateAnnotation

10.5.2.2 PoDoFo::PdfAnnotation::PdfAnnotation ( PdfObject ∗ pObject, PdfPage ∗ pPage )

Create a PdfAnnotation from an existing object


Parameters
pObject the annotations object
pPage the page of the annotation

10.5.3 Member Function Documentation

10.5.3.1 PdfAction ∗ PoDoFo::PdfAnnotation::GetAction ( ) const

Get the action that is executed for this annotation

Returns

an action object. The action object is owned by the PdfAnnotation.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


44 Class Documentation

See also

SetAction

10.5.3.2 PdfArray PoDoFo::PdfAnnotation::GetColor ( ) const

Get the color key of the Annotation dictionary which defines the color of the annotation, as per 8.4 of the pdf spec.
The PdfArray contains 0 to four numbers, depending on the colorspace in which the color is specified 0 numbers
means the annotation is transparent 1 number specifies the intensity of the color in grayscale 3 numbers specifie
the color in the RGB colorspace and 4 numbers specify the color in the CMYK colorspace

Returns

a PdfArray of either 0, 1, 3 or 4 numbers depending on the colorspace in which the color is specified

10.5.3.3 PdfString PoDoFo::PdfAnnotation::GetContents ( ) const

Get the text of this annotation

Returns

the contents of this annotation

See also

SetContents

10.5.3.4 PdfDestination PoDoFo::PdfAnnotation::GetDestination ( PdfDocument ∗ pDoc ) const

Get the destination of a link annotations


Parameters
pDoc a PdfDocument owning this annotation. This is required to resolve names and pages.

Returns

a destination object

See also

SetDestination

10.5.3.5 PdfFileSpec ∗ PoDoFo::PdfAnnotation::GetFileAttachement ( ) const

Get a file attachement of this annotation.

Returns

a file specification object. The file specification object is owned by the PdfAnnotation.

See also

SetFileAttachement

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.5 PoDoFo::PdfAnnotation Class Reference 45

10.5.3.6 pdf_uint32 PoDoFo::PdfAnnotation::GetFlags ( ) const

Get the flags of this annotation.

Returns

the flags which is an unsigned 32bit integer with different EPdfAnnotationFlags OR'ed together.

See also

SetFlags

10.5.3.7 bool PoDoFo::PdfAnnotation::GetOpen ( ) const

Returns

true if this annotation should be opened immediately by the viewer

10.5.3.8 PdfPage ∗ PoDoFo::PdfAnnotation::GetPage ( ) const [inline]

Get the page of this PdfField

Returns

the page of this PdfField

10.5.3.9 PdfArray PoDoFo::PdfAnnotation::GetQuadPoints ( ) const

Get the quad points associated with the annotation (if appropriate). This array is used in text markup annotations to
describe the regions affected by the markup (i.e. the hilighted words, one quadrilateral per word)

Returns

a PdfArray of 8xn numbers describing the x,y coordinates of BL BR TR TL corners of the quadrilaterals. If
inappropriate, returns an empty array.

10.5.3.10 PdfRect PoDoFo::PdfAnnotation::GetRect ( ) const

Get the rectangle of this annotation

Returns

a rectangle

10.5.3.11 PdfString PoDoFo::PdfAnnotation::GetTitle ( ) const

Get the title of this annotation

Returns

the title of this annotation

See also

SetTitle

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


46 Class Documentation

10.5.3.12 EPdfAnnotation PoDoFo::PdfAnnotation::GetType ( ) const [inline]

Get the type of this annotation

Returns

the annotation type

10.5.3.13 bool PoDoFo::PdfAnnotation::HasAction ( ) const

Returns

true if this annotation has an action

10.5.3.14 bool PoDoFo::PdfAnnotation::HasAppearanceStream ( ) const

Returns

true if this annotation has an appearance stream

10.5.3.15 bool PoDoFo::PdfAnnotation::HasDestination ( ) const

Returns

true if this annotation has an destination

10.5.3.16 bool PoDoFo::PdfAnnotation::HasFileAttachement ( ) const

Returns

true if this annotation has a file attachement

10.5.3.17 void PoDoFo::PdfAnnotation::SetAction ( const PdfAction & rAction )

Set the action that is executed for this annotation


Parameters
rAction an action object

See also

GetAction

10.5.3.18 void PoDoFo::PdfAnnotation::SetAppearanceStream ( PdfXObject ∗ pObject )

Set an appearance stream for this object to specify its visual appearance
Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.5 PoDoFo::PdfAnnotation Class Reference 47

pObject an XObject

10.5.3.19 void PoDoFo::PdfAnnotation::SetBorderStyle ( double dHCorner, double dVCorner, double dWidth )

Set the annotations border style.


Parameters
dHCorner horitzontal corner radius
dVCorner vertical corner radius
dWidth width of border

10.5.3.20 void PoDoFo::PdfAnnotation::SetBorderStyle ( double dHCorner, double dVCorner, double dWidth, const PdfArray
& rStrokeStyle )

Set the annotations border style.


Parameters
dHCorner horitzontal corner radius
dVCorner vertical corner radius
dWidth width of border
rStrokeStyle a custom stroke style pattern

10.5.3.21 void PoDoFo::PdfAnnotation::SetColor ( double r, double g, double b )

Set the C key of the Annotation dictionary, which defines the color of the annotation, as per 8.4 of the pdf spec.
Parameters give the color in rgb colorspace coordinates
Parameters
r number from 0 to 1, the intensity of the red channel
g number from 0 to 1, the intensity of the green channel
b number from 0 to 1, the intensity of the blue channel

10.5.3.22 void PoDoFo::PdfAnnotation::SetColor ( double c, double m, double y, double k )

Set the C key of the Annotation dictionary, which defines the color of the annotation, as per 8.4 of the pdf spec.
Parameters give the color in cmyk colorspace coordinates
Parameters
c number from 0 to 1, the intensity of the cyan channel
m number from 0 to 1, the intensity of the magneta channel
y number from 0 to 1, the intensity of the yellow channel
k number from 0 to 1, the intensity of the black channel

10.5.3.23 void PoDoFo::PdfAnnotation::SetColor ( double gray )

Set the C key of the Annotation dictionary, which defines the color of the annotation, as per 8.4 of the pdf spec.
Parameters give the color in grayscale colorspace coordinates

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


48 Class Documentation

Parameters
gray number from 0 to 1, the intensity of the black

10.5.3.24 void PoDoFo::PdfAnnotation::SetColor ( )

Set the C key of the Annotation dictionary to an empty array, which, as per 8.4 of the pdf spec., makes the annotation
transparent

10.5.3.25 void PoDoFo::PdfAnnotation::SetContents ( const PdfString & sContents )

Set the text of this annotation.


Parameters
sContents text of the annoation as string in PDF format

See also

GetContents

10.5.3.26 void PoDoFo::PdfAnnotation::SetDestination ( const PdfDestination & rDestination )

Set the destination for link annotations


Parameters
rDestination target of the link

See also

GetDestination

10.5.3.27 void PoDoFo::PdfAnnotation::SetFileAttachement ( const PdfFileSpec & rFileSpec )

Set a file attachment for this annotation. The type of this annotation has to be ePdfAnnotation_FileAttachement for
file attachements to work.
Parameters
rFileSpec a file specification

10.5.3.28 void PoDoFo::PdfAnnotation::SetFlags ( pdf_uint32 uiFlags )

Set the flags of this annotation.


Parameters
uiFlags is an unsigned 32bit integer with different EPdfAnnotationFlags OR'ed together.

See also

GetFlags

10.5.3.29 void PoDoFo::PdfAnnotation::SetOpen ( bool b )

Sets wether this annotation is initialy open. You should always set this true for popup annotations.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.6 PoDoFo::PdfArray Class Reference 49

Parameters
b if true open it

10.5.3.30 void PoDoFo::PdfAnnotation::SetQuadPoints ( const PdfArray & rQuadPoints )

Set the quad points associated with the annotation (if appropriate). This array is used in text markup annotations to
describe the regions affected by the markup (i.e. the hilighted words, one quadrilateral per word)
Parameters
rQuadPoints a PdfArray of 8xn numbers describing the x,y coordinates of BL BR TR TL corners of the
quadrilaterals.

10.5.3.31 void PoDoFo::PdfAnnotation::SetTitle ( const PdfString & sTitle )

Set the title of this annotation.


Parameters
sTitle title of the annoation as string in PDF format

See also

GetTitle

10.6 PoDoFo::PdfArray Class Reference

#include <PdfArray.h>
Inheritance diagram for PoDoFo::PdfArray:

PoDoFo::PdfDataType

PoDoFo::PdfArray

Public Member Functions

• PdfArray ()
• PdfArray (const PdfObject &var)
• PdfArray (const PdfArray &rhs)
• PdfArray & operator= (const PdfArray &rhs)
• size_t GetSize () const
• void Clear ()
• virtual void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗p←-
Encrypt=NULL) const
• bool ContainsString (const std::string &cmpString) const
• size_t GetStringIndex (const std::string &cmpString) const
• void push_back (const PdfObject &var)
• size_t size () const
• bool empty () const
• void resize (size_t __n, value_type __x=PdfArrayBaseClass::value_type())

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


50 Class Documentation

• iterator begin ()
• const_iterator begin () const
• iterator end ()
• const_iterator end () const
• reverse_iterator rbegin ()
• const_reverse_iterator rbegin () const
• reverse_iterator rend ()
• const_reverse_iterator rend () const
• reference front ()
• const_reference front () const
• reference back ()
• const_reference back () const
• virtual bool IsDirty () const
• virtual void SetDirty (bool bDirty)

Additional Inherited Members

10.6.1 Detailed Description

This class represents a PdfArray Use it for all arrays that are written to a PDF file.
A PdfArray can hold any PdfVariant.

See also

PdfVariant

10.6.2 Constructor & Destructor Documentation

10.6.2.1 PoDoFo::PdfArray::PdfArray ( )

Create an empty array

10.6.2.2 PoDoFo::PdfArray::PdfArray ( const PdfObject & var ) [explicit]

Create an array and add one value to it. The value is copied.
Parameters
var add this object to the array.

10.6.2.3 PoDoFo::PdfArray::PdfArray ( const PdfArray & rhs )

Deep copy an existing PdfArray


Parameters
rhs the array to copy

10.6.3 Member Function Documentation

10.6.3.1 PdfObject & PoDoFo::PdfArray::back ( ) [inline]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.6 PoDoFo::PdfArray Class Reference 51

Returns

a read/write reference to the data at the last element of the array.

10.6.3.2 const PdfObject & PoDoFo::PdfArray::back ( ) const [inline]

Returns

a read-only (constant) reference to the data at the last element of the array.

10.6.3.3 PdfArray::iterator PoDoFo::PdfArray::begin ( ) [inline]

Returns a read/write iterator that points to the first element in the array. Iteration is done in ordinary element order.

10.6.3.4 PdfArray::const_iterator PoDoFo::PdfArray::begin ( ) const [inline]

Returns a read-only (constant) iterator that points to the first element in the array. Iteration is done in ordinary
element order.

10.6.3.5 void PoDoFo::PdfArray::Clear ( ) [inline]

Remove all elements from the array

10.6.3.6 bool PoDoFo::PdfArray::ContainsString ( const std::string & cmpString ) const

Utility method to determine if the array contains contains any objects of ePdfDataType_String whose value is the
passed string.
Parameters
cmpString the string to compare against

Returns

true if success, false if not

10.6.3.7 bool PoDoFo::PdfArray::empty ( ) const [inline]

Returns

true if the array is empty.

10.6.3.8 PdfArray::iterator PoDoFo::PdfArray::end ( ) [inline]

Returns a read/write iterator that points one past the last element in the array. Iteration is done in ordinary element
order.

10.6.3.9 PdfArray::const_iterator PoDoFo::PdfArray::end ( ) const [inline]

Returns a read-only (constant) iterator that points one past the last element in the array. Iteration is done in ordinary
element order.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


52 Class Documentation

10.6.3.10 PdfObject & PoDoFo::PdfArray::front ( ) [inline]

Returns

a read/write reference to the data at the first element of the array.

10.6.3.11 const PdfObject & PoDoFo::PdfArray::front ( ) const [inline]

Returns

a read-only (constant) reference to the data at the first element of the array.

10.6.3.12 size_t PoDoFo::PdfArray::GetSize ( ) const [inline]

Returns

the size of the array

10.6.3.13 size_t PoDoFo::PdfArray::GetStringIndex ( const std::string & cmpString ) const

Utility method to return the actual index in the array which contains an object of ePdfDataType_String whose value
is the passed string.
Parameters
cmpString the string to compare against

Returns

true if success, false if not

10.6.3.14 bool PoDoFo::PdfArray::IsDirty ( ) const [virtual]

The dirty flag is set if this variant has been modified after construction.
Usually the dirty flag is also set if you call any non-const member function as we cannot determine if you actually
changed something or not.

Returns

true if the value is dirty and has been modified since construction

Reimplemented from PoDoFo::PdfDataType.

10.6.3.15 PdfArray & PoDoFo::PdfArray::operator= ( const PdfArray & rhs )

assignment operator
Parameters
rhs the array to assign

10.6.3.16 void PoDoFo::PdfArray::push_back ( const PdfObject & var ) [inline]

Adds a PdfObject to the array

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.6 PoDoFo::PdfArray Class Reference 53

Parameters
var add a PdfObject to the array

This will set the dirty flag of this object.

See also

IsDirty

10.6.3.17 PdfArray::reverse_iterator PoDoFo::PdfArray::rbegin ( ) [inline]

Returns a read/write reverse iterator that points to the last element in the array. Iteration is done in reverse element
order.

10.6.3.18 PdfArray::const_reverse_iterator PoDoFo::PdfArray::rbegin ( ) const [inline]

Returns a read-only (constant) reverse iterator that points to the last element in the array. Iteration is done in reverse
element order.

10.6.3.19 PdfArray::reverse_iterator PoDoFo::PdfArray::rend ( ) [inline]

Returns a read/write reverse iterator that points to one before the first element in the array. Iteration is done in
reverse element order.

10.6.3.20 PdfArray::const_reverse_iterator PoDoFo::PdfArray::rend ( ) const [inline]

Returns a read-only (constant) reverse iterator that points to one before the first element in the array. Iteration is
done in reverse element order.

10.6.3.21 void PoDoFo::PdfArray::resize ( size_t __n, value_type __x = PdfArrayBaseClass::value_type() )


[inline]

Resize the internal vector.


Parameters
__n new size

10.6.3.22 void PoDoFo::PdfArray::SetDirty ( bool bDirty ) [virtual]

Sets the dirty flag of this PdfVariant


Parameters
bDirty true if this PdfVariant has been modified from the outside

See also

IsDirty

Reimplemented from PoDoFo::PdfDataType.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


54 Class Documentation

10.6.3.23 size_t PoDoFo::PdfArray::size ( ) const [inline]

Returns

the size of the array

10.6.3.24 void PoDoFo::PdfArray::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt


∗ pEncrypt = NULL ) const [virtual]

Write the array to an output device. This is an overloaded member function.


Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implements PoDoFo::PdfDataType.

10.7 PoDoFo::PdfAscii85Filter Class Reference

#include <PdfFiltersPrivate.h>
Inheritance diagram for PoDoFo::PdfAscii85Filter:

PoDoFo::PdfFilter

PoDoFo::PdfAscii85Filter

Public Member Functions

• virtual bool CanEncode () const


• virtual void BeginEncodeImpl ()
• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndEncodeImpl ()
• virtual bool CanDecode () const
• virtual void BeginDecodeImpl (const PdfDictionary ∗)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndDecodeImpl ()
• virtual EPdfFilter GetType () const

Additional Inherited Members

10.7.1 Detailed Description

The Ascii85 filter.

10.7.2 Member Function Documentation

10.7.2.1 void PoDoFo::PdfAscii85Filter::BeginDecodeImpl ( const PdfDictionary ∗ ) [virtual]

Real implementation of ‘BeginDecode()'. NEVER call this method directly.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.7 PoDoFo::PdfAscii85Filter Class Reference 55

By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/DecodeBlock().

See also

BeginDecode

Reimplemented from PoDoFo::PdfFilter.

10.7.2.2 void PoDoFo::PdfAscii85Filter::BeginEncodeImpl ( ) [virtual]

Begin encoding data using this filter. Called by PdfFilter::BeginEncode.

See also

EncodeBlockImpl
EndEncodeImpl
PdfFilter::BeginEncode

Reimplemented from PoDoFo::PdfFilter.

10.7.2.3 bool PoDoFo::PdfAscii85Filter::CanDecode ( ) const [inline], [virtual]

Check wether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implements PoDoFo::PdfFilter.

10.7.2.4 bool PoDoFo::PdfAscii85Filter::CanEncode ( ) const [inline], [virtual]

Check wether the encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implements PoDoFo::PdfFilter.

10.7.2.5 void PoDoFo::PdfAscii85Filter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Real implementation of ‘DecodeBlock()'. NEVER call this method directly.


You must override this method to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implements PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


56 Class Documentation

10.7.2.6 void PoDoFo::PdfAscii85Filter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncodeImpl.


BeginEncodeImpl() has to be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndEncodeImpl() after all data has been encoded

See also

BeginEncodeImpl
EndEncodeImpl

Implements PoDoFo::PdfFilter.

10.7.2.7 void PoDoFo::PdfAscii85Filter::EndDecodeImpl ( ) [virtual]

Real implementation of ‘EndDecode()'. NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginDecode() can be safely called.
PdfFilter ensures that a valid stream is available when this method is called, and ensures that BeginDecodeImpl()
has been called.

See also

EndDecode

Reimplemented from PoDoFo::PdfFilter.

10.7.2.8 void PoDoFo::PdfAscii85Filter::EndEncodeImpl ( ) [virtual]

Finish encoding of data.

See also

BeginEncodeImpl
EncodeBlockImpl

Reimplemented from PoDoFo::PdfFilter.

10.7.2.9 EPdfFilter PoDoFo::PdfAscii85Filter::GetType ( ) const [inline], [virtual]

GetType of this filter.

Returns

the GetType of this filter

Implements PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.8 PoDoFo::PdfAxialShadingPattern Class Reference 57

10.8 PoDoFo::PdfAxialShadingPattern Class Reference

#include <PdfShadingPattern.h>
Inheritance diagram for PoDoFo::PdfAxialShadingPattern:

PoDoFo::PdfElement

PoDoFo::PdfShadingPattern

PoDoFo::PdfAxialShadingPattern

Public Member Functions

• PdfAxialShadingPattern (double dX0, double dY0, double dX1, double dY1, const PdfColor &rStart, const
PdfColor &rEnd, PdfVecObjects ∗pParent)
• PdfAxialShadingPattern (double dX0, double dY0, double dX1, double dY1, const PdfColor &rStart, const
PdfColor &rEnd, PdfDocument ∗pParent)

Additional Inherited Members

10.8.1 Detailed Description

A shading pattern that is a simple axial shading between two colors.

10.8.2 Constructor & Destructor Documentation

10.8.2.1 PoDoFo::PdfAxialShadingPattern::PdfAxialShadingPattern ( double dX0, double dY0, double dX1, double dY1, const
PdfColor & rStart, const PdfColor & rEnd, PdfVecObjects ∗ pParent )

Create an axial shading pattern


Parameters
dX0 the starting x coordinate
dY0 the starting y coordinate
dX1 the ending x coordinate
dY1 the ending y coordinate
rStart the starting color
rEnd the ending color
pParent the parent

10.8.2.2 PoDoFo::PdfAxialShadingPattern::PdfAxialShadingPattern ( double dX0, double dY0, double dX1, double dY1, const
PdfColor & rStart, const PdfColor & rEnd, PdfDocument ∗ pParent )

Create an axial shading pattern


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


58 Class Documentation

dX0 the starting x coordinate


dY0 the starting y coordinate
dX1 the ending x coordinate
dY1 the ending y coordinate
rStart the starting color
rEnd the ending color
pParent the parent

10.9 PoDoFo::PdfBufferOutputStream Class Reference

#include <PdfOutputStream.h>
Inheritance diagram for PoDoFo::PdfBufferOutputStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfBufferOutputStream

Public Member Functions

• PdfBufferOutputStream (PdfRefCountedBuffer ∗pBuffer)


• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()
• pdf_long GetLength () const

10.9.1 Detailed Description

An output stream that writes to a PdfRefCountedBuffer.


The PdfRefCountedBuffer is resized automatically if necessary.

10.9.2 Constructor & Destructor Documentation

10.9.2.1 PoDoFo::PdfBufferOutputStream::PdfBufferOutputStream ( PdfRefCountedBuffer ∗ pBuffer ) [inline]

Write to an already opened input device


Parameters
pBuffer data is written to this buffer

10.9.3 Member Function Documentation

10.9.3.1 virtual void PoDoFo::PdfBufferOutputStream::Close ( ) [inline], [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.10 PoDoFo::PdfCanvas Class Reference 59

10.9.3.2 pdf_long PoDoFo::PdfBufferOutputStream::GetLength ( ) const [inline]

Returns

the length of the buffers contents

10.9.3.3 pdf_long PoDoFo::PdfBufferOutputStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Returns

the number of bytes written, -1 if an error ocurred

Implements PoDoFo::PdfOutputStream.

10.10 PoDoFo::PdfCanvas Class Reference

#include <PdfCanvas.h>
Inheritance diagram for PoDoFo::PdfCanvas:

PoDoFo::PdfCanvas

PoDoFo::PdfPage PoDoFo::PdfXObject

PoDoFo::PdfImage

Public Member Functions

• virtual ∼PdfCanvas ()
• virtual PdfObject ∗ GetContents () const =0
• virtual PdfObject ∗ GetContentsForAppending () const =0
• virtual PdfObject ∗ GetResources () const =0
• virtual const PdfRect GetPageSize () const =0
• void AddColorResource (const PdfColor &rColor)
• void AddResource (const PdfName &rIdentifier, const PdfReference &rRef, const PdfName &rName)

Static Public Member Functions

• static const PdfArray & GetProcSet ()

10.10.1 Detailed Description

A interface that provides the necessary features for a painter to draw onto a PdfObject.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


60 Class Documentation

10.10.2 Constructor & Destructor Documentation

10.10.2.1 virtual PoDoFo::PdfCanvas::∼PdfCanvas ( ) [inline], [virtual]

Virtual destructor to avoid compiler warnings

10.10.3 Member Function Documentation

10.10.3.1 void PoDoFo::PdfCanvas::AddColorResource ( const PdfColor & rColor )

Register a colourspace for a (separation) colour in the resource dictionary of this page or XObbject so that it can be
used for any following drawing operations.
Parameters
rColor reference to the PdfColor

10.10.3.2 void PoDoFo::PdfCanvas::AddResource ( const PdfName & rIdentifier, const PdfReference & rRef, const
PdfName & rName )

Register an object in the resource dictionary of this page or XObbject so that it can be used for any following drawing
operations.
Parameters
rIdentifier identifier of this object, e.g. /Ft0
rRef reference to the object you want to register
rName register under this key in the resource dictionary

10.10.3.3 virtual PdfObject∗ PoDoFo::PdfCanvas::GetContents ( ) const [pure virtual]

Get access to the contents object of this page. If you want to draw onto the page, you have to add drawing
commands to the stream of the Contents object.

Returns

a contents object

Implemented in PoDoFo::PdfPage, and PoDoFo::PdfXObject.

10.10.3.4 virtual PdfObject∗ PoDoFo::PdfCanvas::GetContentsForAppending ( ) const [pure virtual]

Get access an object that you can use to ADD drawing to. If you want to draw onto the page, you have to add
drawing commands to the stream of the Contents object.

Returns

a contents object

Implemented in PoDoFo::PdfPage, and PoDoFo::PdfXObject.

10.10.3.5 virtual const PdfRect PoDoFo::PdfCanvas::GetPageSize ( ) const [pure virtual]

Get the current page size in PDF Units

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.11 PoDoFo::PdfCheckBox Class Reference 61

Returns

a PdfRect containing the page size available for drawing

Implemented in PoDoFo::PdfXObject, and PoDoFo::PdfPage.

10.10.3.6 const PdfArray & PoDoFo::PdfCanvas::GetProcSet ( ) [static]

Get a reference to a static procset PdfArray.

Returns

a reference to a static procset PdfArray

10.10.3.7 virtual PdfObject∗ PoDoFo::PdfCanvas::GetResources ( ) const [pure virtual]

Get access to the resources object of this page. This is most likely an internal object.

Returns

a resources object

Implemented in PoDoFo::PdfPage, and PoDoFo::PdfXObject.

10.11 PoDoFo::PdfCheckBox Class Reference

#include <PdfField.h>
Inherits PoDoFo::PdfButton.

Public Member Functions

• PdfCheckBox (PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfCheckBox (PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfCheckBox (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfCheckBox (PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)
• PdfCheckBox (const PdfField &rhs)
• void SetAppearanceChecked (const PdfXObject &rXObject)
• void SetAppearanceUnchecked (const PdfXObject &rXObject)
• void SetChecked (bool bChecked)
• bool IsChecked () const

10.11.1 Detailed Description

A checkbox can be checked or unchecked by the user

10.11.2 Constructor & Destructor Documentation

10.11.2.1 PoDoFo::PdfCheckBox::PdfCheckBox ( PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )

Create a new PdfCheckBox

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


62 Class Documentation

10.11.2.2 PoDoFo::PdfCheckBox::PdfCheckBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm ∗ pParent )

Create a new PdfCheckBox

10.11.2.3 PoDoFo::PdfCheckBox::PdfCheckBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗ pDoc )

Create a new PdfCheckBox

10.11.2.4 PoDoFo::PdfCheckBox::PdfCheckBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfStreamedDocument ∗


pDoc )

Create a new PdfCheckBox

10.11.2.5 PoDoFo::PdfCheckBox::PdfCheckBox ( const PdfField & rhs )

Create a PdfCheckBox from a PdfField


Parameters
rhs a PdfField that is a check box

Raises an error if PdfField::GetType() != ePdfField_CheckBox

10.11.3 Member Function Documentation

10.11.3.1 bool PoDoFo::PdfCheckBox::IsChecked ( ) const

Returns

true if the checkbox is checked

10.11.3.2 void PoDoFo::PdfCheckBox::SetAppearanceChecked ( const PdfXObject & rXObject )

Set the appearance stream which is displayed when the checkbox is checked.
Parameters
rXObject an xobject which contains the drawing commands for a checked checkbox

10.11.3.3 void PoDoFo::PdfCheckBox::SetAppearanceUnchecked ( const PdfXObject & rXObject )

Set the appearance stream which is displayed when the checkbox is unchecked.
Parameters
rXObject an xobject which contains the drawing commands for an unchecked checkbox

10.11.3.4 void PoDoFo::PdfCheckBox::SetChecked ( bool bChecked )

Sets the state of this checkbox

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.12 PoDoFo::PdfColor Class Reference 63

Parameters
bChecked if true the checkbox will be checked

10.12 PoDoFo::PdfColor Class Reference

#include <PdfColor.h>
Inherited by PoDoFo::PdfColorCieLab, PoDoFo::PdfColorCMYK, PoDoFo::PdfColorGray, PoDoFo::PdfColorRGB,
PoDoFo::PdfColorSeparation, PoDoFo::PdfColorSeparationAll, and PoDoFo::PdfColorSeparationNone.

Public Member Functions

• PdfColor ()
• PdfColor (double dGray)
• PdfColor (double dRed, double dGreen, double dBlue)
• PdfColor (double dCyan, double dMagenta, double dYellow, double dBlack)
• PdfColor (const PdfColor &rhs)
• virtual ∼PdfColor ()
• const PdfColor & operator= (const PdfColor &rhs)
• bool operator== (const PdfColor &rhs) const
• bool operator!= (const PdfColor &rhs) const
• bool IsGrayScale () const
• bool IsRGB () const
• bool IsCMYK () const
• bool IsSeparation () const
• bool IsCieLab () const
• EPdfColorSpace GetColorSpace () const
• EPdfColorSpace GetAlternateColorSpace () const
• double GetGrayScale () const
• double GetRed () const
• double GetGreen () const
• double GetBlue () const
• double GetCyan () const
• double GetMagenta () const
• double GetYellow () const
• double GetBlack () const
• const std::string GetName () const
• double GetDensity () const
• double GetCieL () const
• double GetCieA () const
• double GetCieB () const
• PdfColor ConvertToGrayScale () const
• PdfColor ConvertToRGB () const
• PdfColor ConvertToCMYK () const
• PdfArray ToArray () const
• PdfObject ∗ BuildColorSpace (PdfVecObjects ∗pOwner) const

Static Public Member Functions

• static PdfColor FromString (const char ∗pszName)


• static PdfColor FromArray (const PdfArray &rArray)
• static EPdfColorSpace GetColorSpaceForName (const PdfName &rName)
• static PdfName GetNameForColorSpace (EPdfColorSpace eColorSpace)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


64 Class Documentation

10.12.1 Detailed Description

A color object can represent either a grayscale value, a RGB color, a CMYK color, a separation color or a CieLab
color.
All drawing functions in PoDoFo accept a PdfColor object to specify a drawing color in one of these colorspaces.
Derived classes PdfColorGray, PdfColorRGB, PdfColorCMYK, PdfColorSeparation and PdfColorCieLab are avail-
able for easy construction

10.12.2 Constructor & Destructor Documentation

10.12.2.1 PoDoFo::PdfColor::PdfColor ( )

Create a PdfColor object that is RGB black.

10.12.2.2 PoDoFo::PdfColor::PdfColor ( double dGray ) [explicit]

Create a new PdfColor object with a grayscale value.


Parameters
dGray a grayscalue value between 0.0 and 1.0

10.12.2.3 PoDoFo::PdfColor::PdfColor ( double dRed, double dGreen, double dBlue )

Create a new PdfColor object with a RGB color


Parameters
dRed the value of the red component, must be between 0.0 and 1.0
dGreen the value of the green component, must be between 0.0 and 1.0
dBlue the value of the blue component, must be between 0.0 and 1.0

10.12.2.4 PoDoFo::PdfColor::PdfColor ( double dCyan, double dMagenta, double dYellow, double dBlack )

Create a new PdfColor object with a CMYK color


Parameters
dCyan the value of the cyan component, must be between 0.0 and 1.0
dMagenta the value of the magenta component, must be between 0.0 and 1.0
dYellow the value of the yellow component, must be between 0.0 and 1.0
dBlack the value of the black component, must be between 0.0 and 1.0

10.12.2.5 PoDoFo::PdfColor::PdfColor ( const PdfColor & rhs )

Copy constructor
Parameters
rhs copy rhs into this object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.12 PoDoFo::PdfColor Class Reference 65

10.12.2.6 PoDoFo::PdfColor::∼PdfColor ( ) [virtual]

Destructor

10.12.3 Member Function Documentation

10.12.3.1 PdfObject ∗ PoDoFo::PdfColor::BuildColorSpace ( PdfVecObjects ∗ pOwner ) const

Creates a colorspace object from a color to insert into resources.


Parameters
pOwner a pointer to the owner of the generated object

Returns

a PdfObject pointer, which can be insert into resources, NULL if not needed

10.12.3.2 PdfColor PoDoFo::PdfColor::ConvertToCMYK ( ) const

Converts the color object into a CMYK color object.


This is only a convinience function. It might be useful for on screen display but is in NO WAY suitable to professional
printing!

Returns

a CMYK color object

See also

IsCMYK()

10.12.3.3 PdfColor PoDoFo::PdfColor::ConvertToGrayScale ( ) const

Converts the color object into a grayscale color object.


This is only a convinience function. It might be useful for on screen display but is in NO WAY suitable to professional
printing!

Returns

a grayscale color object

See also

IsGrayScale()

10.12.3.4 PdfColor PoDoFo::PdfColor::ConvertToRGB ( ) const

Converts the color object into a RGB color object.


This is only a convinience function. It might be useful for on screen display but is in NO WAY suitable to professional
printing!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


66 Class Documentation

Returns

a RGB color object

See also

IsRGB()

10.12.3.5 PdfColor PoDoFo::PdfColor::FromArray ( const PdfArray & rArray ) [static]

Creates a color object from a PdfArray which represents a color.


Raises an exception if this is no PdfColor!
Parameters
rArray an array that must be a color PdfArray

Returns

a PdfColor object

10.12.3.6 PdfColor PoDoFo::PdfColor::FromString ( const char ∗ pszName ) [static]

Creates a color object from a string.


Parameters
pszName a string describing a color.

Supported values are:

• single gray values as string (e.g. '0.5')

• a named color (e.g. 'auquamarine' or 'magenta')

• hex values (e.g. #FF002A (RGB) or #FF12AB3D (CMYK))

• PdfArray's

Returns

a PdfColor object

10.12.3.7 EPdfColorSpace PoDoFo::PdfColor::GetAlternateColorSpace ( ) const [inline]

Get the alternate colorspace of this PdfColor object

Returns

the colorspace of this PdfColor object (must be separation)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.12 PoDoFo::PdfColor Class Reference 67

10.12.3.8 double PoDoFo::PdfColor::GetBlack ( ) const [inline]

Get the black color value of this object.


Throws an exception if this is no CMYK or separation color object.

Returns

the black color value of this object (between 0.0 and 1.0)

See also

IsCMYK

10.12.3.9 double PoDoFo::PdfColor::GetBlue ( ) const [inline]

Get the blue color value of this object.


Throws an exception if this is no RGB color object.

Returns

the blue color value of this object (between 0.0 and 1.0)

See also

IsRGB

10.12.3.10 double PoDoFo::PdfColor::GetCieA ( ) const [inline]

Get the A color value of this object.


Throws an exception if this is no CIE-Lab color object.

Returns

the A color value of this object (between -128.0 and 127.0)

See also

IsCieLab

10.12.3.11 double PoDoFo::PdfColor::GetCieB ( ) const [inline]

Get the B color value of this object.


Throws an exception if this is no CIE-Lab color object.

Returns

the B color value of this object (between -128.0 and 127.0)

See also

IsCieLab

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


68 Class Documentation

10.12.3.12 double PoDoFo::PdfColor::GetCieL ( ) const [inline]

Get the L color value of this object.


Throws an exception if this is no CIE-Lab color object.

Returns

the L color value of this object (between 0.0 and 100.0)

See also

IsCieLab

10.12.3.13 EPdfColorSpace PoDoFo::PdfColor::GetColorSpace ( ) const [inline]

Get the colorspace of this PdfColor object

Returns

the colorspace of this PdfColor object

10.12.3.14 EPdfColorSpace PoDoFo::PdfColor::GetColorSpaceForName ( const PdfName & rName ) [static]

Convert a name into a colorspace enum.


Parameters
rName name representing a colorspace such as DeviceGray

Returns

colorspace enum or ePdfColorSpace_Unknown if name is unknown

See also

GetNameForColorSpace

10.12.3.15 double PoDoFo::PdfColor::GetCyan ( ) const [inline]

Get the cyan color value of this object.


Throws an exception if this is no CMYK or separation color object.

Returns

the cyan color value of this object (between 0.0 and 1.0)

See also

IsCMYK

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.12 PoDoFo::PdfColor Class Reference 69

10.12.3.16 double PoDoFo::PdfColor::GetDensity ( ) const [inline]

Get the density color value of this object.


Throws an exception if this is no separation color object.

Returns

the density value of this object (between 0.0 and 1.0)

See also

IsSeparation

10.12.3.17 double PoDoFo::PdfColor::GetGrayScale ( ) const [inline]

Get the grayscale color value of this object.


Throws an exception if this is no grayscale color object.

Returns

the grayscale color value of this object (between 0.0 and 1.0)

See also

IsGrayScale

10.12.3.18 double PoDoFo::PdfColor::GetGreen ( ) const [inline]

Get the green color value of this object.


Throws an exception if this is no RGB color object.

Returns

the green color value of this object (between 0.0 and 1.0)

See also

IsRGB

10.12.3.19 double PoDoFo::PdfColor::GetMagenta ( ) const [inline]

Get the magenta color value of this object.


Throws an exception if this is no CMYK or separation color object.

Returns

the magenta color value of this object (between 0.0 and 1.0)

See also

IsCMYK

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


70 Class Documentation

10.12.3.20 const std::string PoDoFo::PdfColor::GetName ( ) const [inline]

Get the separation name of this object.


Throws an exception if this is no separation color object.

Returns

the name of this object

See also

IsSeparation

10.12.3.21 PdfName PoDoFo::PdfColor::GetNameForColorSpace ( EPdfColorSpace eColorSpace ) [static]

Convert a colorspace enum value into a name such as DeviceRGB


Parameters
eColorSpace a colorspace

Returns

a name

See also

GetColorSpaceForName

10.12.3.22 double PoDoFo::PdfColor::GetRed ( ) const [inline]

Get the red color value of this object.


Throws an exception if this is no RGB color object.

Returns

the red color value of this object (between 0.0 and 1.0)

See also

IsRGB

10.12.3.23 double PoDoFo::PdfColor::GetYellow ( ) const [inline]

Get the yellow color value of this object.


Throws an exception if this is no CMYK or separation color object.

Returns

the yellow color value of this object (between 0.0 and 1.0)

See also

IsCMYK

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.12 PoDoFo::PdfColor Class Reference 71

10.12.3.24 bool PoDoFo::PdfColor::IsCieLab ( ) const [inline]

Test if this is a CIE-Lab color.

Returns

true if this is a lab Color object

10.12.3.25 bool PoDoFo::PdfColor::IsCMYK ( ) const [inline]

Test if this is a CMYK color.

Returns

true if this is a CMYK PdfColor object

10.12.3.26 bool PoDoFo::PdfColor::IsGrayScale ( ) const [inline]

Test if this is a grayscale color.

Returns

true if this is a grayscale PdfColor object

10.12.3.27 bool PoDoFo::PdfColor::IsRGB ( ) const [inline]

Test if this is a RGB color.

Returns

true if this is a RGB PdfColor object

10.12.3.28 bool PoDoFo::PdfColor::IsSeparation ( ) const [inline]

Test if this is a separation color.

Returns

true if this is a separation PdfColor object

10.12.3.29 bool PoDoFo::PdfColor::operator!= ( const PdfColor & rhs ) const [inline]

Test for inequality of colors.


Parameters
rhs color to compare ro

Returns

true if object color is not equal to rhs

10.12.3.30 const PdfColor & PoDoFo::PdfColor::operator= ( const PdfColor & rhs )

Assignment operator

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


72 Class Documentation

Parameters
rhs copy rhs into this object

Returns

a reference to this color object

10.12.3.31 bool PoDoFo::PdfColor::operator== ( const PdfColor & rhs ) const [inline]

Test for equality of colors.


Parameters
rhs color to compare ro

Returns

true if object color is equal to rhs

10.12.3.32 PdfArray PoDoFo::PdfColor::ToArray ( ) const

Creates a PdfArray which represents a color from a color.

Returns

a PdfArray object

10.13 PoDoFo::PdfComboBox Class Reference

#include <PdfField.h>
Inheritance diagram for PoDoFo::PdfComboBox:

PoDoFo::PdfListField

PoDoFo::PdfComboBox

Public Member Functions

• PdfComboBox (PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfComboBox (PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfComboBox (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfComboBox (PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)
• PdfComboBox (const PdfField &rhs)
• void SetEditable (bool bEdit)
• bool IsEditable () const

Additional Inherited Members

10.13.1 Detailed Description

A combo box with a drop down list of items.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.14 PoDoFo::PdfContents Class Reference 73

10.13.2 Constructor & Destructor Documentation

10.13.2.1 PoDoFo::PdfComboBox::PdfComboBox ( PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.13.2.2 PoDoFo::PdfComboBox::PdfComboBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.13.2.3 PoDoFo::PdfComboBox::PdfComboBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗ pDoc )

Create a new PdfTextField

10.13.2.4 PoDoFo::PdfComboBox::PdfComboBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfStreamedDocument


∗ pDoc )

Create a new PdfTextField

10.13.2.5 PoDoFo::PdfComboBox::PdfComboBox ( const PdfField & rhs )

Create a PdfComboBox from a PdfField


Parameters
rhs a PdfField that is a PdfComboBox

Raises an error if PdfField::GetType() != ePdfField_ComboBox

10.13.3 Member Function Documentation

10.13.3.1 bool PoDoFo::PdfComboBox::IsEditable ( ) const [inline]

Returns

true if this is an editable combobox

10.13.3.2 void PoDoFo::PdfComboBox::SetEditable ( bool bEdit ) [inline]

Sets the combobox to be editable


Parameters
bEdit if true the combobox can be edited by the user

By default a combobox is not editable

10.14 PoDoFo::PdfContents Class Reference

#include <PdfContents.h>
Inheritance diagram for PoDoFo::PdfContents:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


74 Class Documentation

PoDoFo::PdfElement

PoDoFo::PdfContents

Public Member Functions

• PdfContents (PdfDocument ∗pParent)


• PdfContents (PdfVecObjects ∗pParent)
• PdfContents (PdfObject ∗inObj)
• PdfContents (PdfPage ∗pParent)
• virtual ∼PdfContents ()
• virtual PdfObject ∗ GetContents () const
• virtual PdfObject ∗ GetContentsForAppending () const

10.14.1 Detailed Description

A interface that provides a wrapper around "PDF content" - the instructions that are used to draw on the PDF
"canvas".

10.14.2 Constructor & Destructor Documentation

10.14.2.1 PoDoFo::PdfContents::PdfContents ( PdfDocument ∗ pParent )

Construct a new/empty set of contents in the owning objects

10.14.2.2 PoDoFo::PdfContents::PdfContents ( PdfVecObjects ∗ pParent )

Construct a new/empty set of contents in the owning objects

10.14.2.3 PoDoFo::PdfContents::PdfContents ( PdfObject ∗ inObj )

Construct the contents from an existing PdfObject

10.14.2.4 PoDoFo::PdfContents::PdfContents ( PdfPage ∗ pParent )

Create the contents for an existing page which does not yet have a contents object.
Parameters
pParent a /Contents key will be added to this page and a contents object will be created.

10.14.2.5 virtual PoDoFo::PdfContents::∼PdfContents ( ) [inline], [virtual]

Virtual destructor - because ALL destructors should be...

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.15 PoDoFo::PdfContentsTokenizer Class Reference 75

10.14.3 Member Function Documentation

10.14.3.1 virtual PdfObject∗ PoDoFo::PdfContents::GetContents ( ) const [inline], [virtual]

Get access to the raw contents object. It will either be a PdfStream or a PdfArray

Returns

a contents object

10.14.3.2 PdfObject ∗ PoDoFo::PdfContents::GetContentsForAppending ( ) const [virtual]

Get access to an object into which you can add contents at the end of the "stream".

10.15 PoDoFo::PdfContentsTokenizer Class Reference

#include <PdfContentsTokenizer.h>
Inheritance diagram for PoDoFo::PdfContentsTokenizer:

PoDoFo::PdfTokenizer

PoDoFo::PdfContentsTokenizer

Public Member Functions

• PdfContentsTokenizer (const char ∗pBuffer, long lLen)


• PdfContentsTokenizer (PdfCanvas ∗pCanvas)
• bool ReadNext (EPdfContentsType &reType, const char ∗&rpszKeyword, PoDoFo::PdfVariant &rVariant)
• bool GetNextToken (const char ∗&pszToken, EPdfTokenType ∗peType=NULL)

Additional Inherited Members

10.15.1 Detailed Description

This class is a parser for content streams in PDF documents.


The parsed content stream can be used and modified in various ways.
This class is currently work in progress and subject to change!

10.15.2 Constructor & Destructor Documentation

10.15.2.1 PoDoFo::PdfContentsTokenizer::PdfContentsTokenizer ( const char ∗ pBuffer, long lLen ) [inline]

Construct a PdfContentsTokenizer from an existing buffer. Usually a stream from a PdfPage.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


76 Class Documentation

Parameters
pBuffer pointer to a buffer
lLen length of the buffer

10.15.2.2 PoDoFo::PdfContentsTokenizer::PdfContentsTokenizer ( PdfCanvas ∗ pCanvas )

Construct a PdfContentsTokenizer from a PdfCanvas (i.e. PdfPage or a PdfXObject).


This is more convinient as you do not have to care about buffers yourself.
Parameters
pCanvas an object that hold a PDF contents stream

10.15.3 Member Function Documentation

10.15.3.1 bool PoDoFo::PdfContentsTokenizer::GetNextToken ( const char ∗& pszToken, EPdfTokenType ∗ peType = NULL )
[virtual]

Reads the next token from the current file position ignoring all comments.
Parameters
out pszToken On true return, set to a pointer to the read token (a NULL-terminated C string).
The pointer is to memory owned by PdfTokenizer and must NOT be freed.
The contents are invalidated on the next call to GetNextToken(..) and by the
destruction of the PdfTokenizer. Undefined on false return.
out peType On true return, if not NULL the type of the read token will be stored into this
parameter. Undefined on false return.

Returns

True if a token was read, false if there are no more tokens to read.

See also

GetBuffer

Reimplemented from PoDoFo::PdfTokenizer.

10.15.3.2 bool PoDoFo::PdfContentsTokenizer::ReadNext ( EPdfContentsType & reType, const char ∗& rpszKeyword,
PoDoFo::PdfVariant & rVariant )

Read the next keyword or variant, returning true and setting reType if something was read. Either rpszKeyword or
rVariant, but never both, have defined and usable values on true return, with which being controlled by the value of
eType.
If EOF is encountered, returns false and leaves eType, pszKeyword and rVariant undefined.
As a special case, reType may be set to ePdfContentsType_ImageData. In this case rpszzKeyword is undefined,
and rVariant contains a PdfData variant containing the byte sequence between the ID and BI keywords sans the
one byte of leading- and trailing- white space. No filter decoding is performed.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.16 PoDoFo::PdfData Class Reference 77

Parameters
out reType will be set to either keyword or variant if true is returned. Undefined if false is
returned.
out rpszKeyword if pType is set to ePdfContentsType_Keyword this will point to the keyword,
otherwise the value is undefined. If set, the value points to memory owned
by the PdfContentsTokenizer and must not be freed. The value is invalidated
when ReadNext is next called or when the PdfContentsTokenizer is destroyed.
out rVariant if pType is set to ePdfContentsType_Variant or ePdfContentsType_ImageData
this will be set to the read variant, otherwise the value is undefined.

10.16 PoDoFo::PdfData Class Reference

#include <PdfData.h>
Inheritance diagram for PoDoFo::PdfData:

PoDoFo::PdfDataType

PoDoFo::PdfData

Public Member Functions

• PdfData (const char ∗pszData)


• PdfData (const char ∗pszData, size_t dataSize)
• PdfData (const PdfData &rhs)
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• const PdfData & operator= (const PdfData &rhs)
• const std::string & data () const

Additional Inherited Members

10.16.1 Detailed Description

A datatype that allows to write abitrary data to a PDF file. The user of this class has to ensure that the data written
to the PDF file using this class is valid data for a PDF file!
This class is used in PoDoFo to pad PdfVariants.

10.16.2 Constructor & Destructor Documentation

10.16.2.1 PoDoFo::PdfData::PdfData ( const char ∗ pszData ) [inline]

Create a new PdfData object with valid PdfData


The contained data has to be a valid value in a PDF file. It will be written directly to the PDF file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


78 Class Documentation

Parameters
pszData a null-terminated string to be copied.

10.16.2.2 PoDoFo::PdfData::PdfData ( const char ∗ pszData, size_t dataSize ) [inline]

Create a new PdfData object with valid PdfData.


Parameters
pszData a char ∗ buffer to be copied.
dataSize size of buffer

10.16.2.3 PoDoFo::PdfData::PdfData ( const PdfData & rhs ) [inline]

Copy an existing PdfData


Parameters
rhs another PdfData to copy

10.16.3 Member Function Documentation

10.16.3.1 const std::string & PoDoFo::PdfData::data ( ) const [inline]

Access the data as a std::string

Returns

a const reference to the contained data

10.16.3.2 const PdfData & PoDoFo::PdfData::operator= ( const PdfData & rhs ) [inline]

Copy an existing PdfData


Parameters
rhs another PdfData to copy

Returns

this object

10.16.3.3 void PoDoFo::PdfData::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt


∗ pEncrypt = NULL ) const [virtual]

Write the complete datatype to a file.


Parameters
pDevice write the object to this device

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.17 PoDoFo::PdfDataType Class Reference 79

eWriteMode additional options for writing this object


pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

PdfData cannot do any encryption for you. So the encryption object will be ignored as it is also the case for the
write mode!
Implements PoDoFo::PdfDataType.

10.17 PoDoFo::PdfDataType Class Reference

#include <PdfDataType.h>
Inheritance diagram for PoDoFo::PdfDataType:

PoDoFo::PdfDataType

PoDoFo::PdfArray PoDoFo::PdfData PoDoFo::PdfDictionary PoDoFo::PdfName PoDoFo::PdfReference PoDoFo::PdfString

Public Member Functions

• virtual void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗p←-
Encrypt=NULL) const =0
• virtual bool IsDirty () const
• virtual void SetDirty (bool bDirty)
• void SetImmutable (bool bImmutable)
• bool GetImmutable () const

Protected Member Functions

• PdfDataType ()
• void AssertMutable () const

10.17.1 Detailed Description

An interface for all PDF datatype classes.

See also

PdfName
PdfArray
PdfReference
PdfVariant
PdfDictionary
PdfString

10.17.2 Constructor & Destructor Documentation

10.17.2.1 PoDoFo::PdfDataType::PdfDataType ( ) [protected]

Create a new PdfDataType. Can only be called by subclasses

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


80 Class Documentation

10.17.3 Member Function Documentation

10.17.3.1 void PoDoFo::PdfDataType::AssertMutable ( ) const [inline], [protected]

Will throw an exception if called on an immutable object, so this should be called before actually changing a value!

10.17.3.2 bool PoDoFo::PdfDataType::GetImmutable ( ) const [inline]

Retrieve if an object is immutable.


This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after
setting stream data on it.

Returns

true if the object is immutable

10.17.3.3 bool PoDoFo::PdfDataType::IsDirty ( ) const [virtual]

The dirty flag is set if this variant has been modified after construction.
Usually the dirty flag is also set if you call any non-const member function as we cannot determine if you actually
changed something or not.

Returns

true if the value is dirty and has been modified since construction

Reimplemented in PoDoFo::PdfArray, and PoDoFo::PdfDictionary.

10.17.3.4 void PoDoFo::PdfDataType::SetDirty ( bool bDirty ) [virtual]

Sets the dirty flag of this PdfVariant


Parameters
bDirty true if this PdfVariant has been modified from the outside

See also

IsDirty

Reimplemented in PoDoFo::PdfArray, and PoDoFo::PdfDictionary.

10.17.3.5 void PoDoFo::PdfDataType::SetImmutable ( bool bImmutable ) [inline]

Sets this object to immutable, so that no keys can be edited or changed.


Parameters
bImmutable if true set the object to be immutable

This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after
setting stream data on it.

10.17.3.6 virtual void PoDoFo::PdfDataType::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const [pure virtual]

Write the complete datatype to a file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.18 PoDoFo::PdfDate Class Reference 81

Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implemented in PoDoFo::PdfString, PoDoFo::PdfDictionary, PoDoFo::PdfName, PoDoFo::PdfReference, PoDo←-


Fo::PdfArray, and PoDoFo::PdfData.

10.18 PoDoFo::PdfDate Class Reference

#include <PdfDate.h>

Public Member Functions

• PdfDate ()
• PdfDate (const time_t &t)
• PdfDate (const PdfString &sDate)
• virtual ∼PdfDate ()
• bool IsValid () const
• const time_t & GetTime () const
• void ToString (PdfString &rsString) const

10.18.1 Detailed Description

This class is a date datatype as specified in the PDF reference. You can easily convert from Unix time_t to the PDF
time representation and back. Dates like these are used for example in the PDF info dictionary for the creation time
and date of the PDF file.
PdfDate objects are immutable.
From the PDF reference:
PDF defines a standard date format, which closely follows that of the international standard ASN.1 (Abstract Syntax
Notation One), defined in ISO/IEC 8824 (see the Bibliography). A date is a string of the form (D:YYYYMMDDH←-
HmmSSOHH'mm')

10.18.2 Constructor & Destructor Documentation

10.18.2.1 PoDoFo::PdfDate::PdfDate ( )

Create a PdfDate object with the current date and time.

10.18.2.2 PoDoFo::PdfDate::PdfDate ( const time_t & t )

Create a PdfDate with a specified date and time


Parameters
t the date and time of this object

Use IsValid to check wether the time_t could be converted to a valid PdfDate object.

See also

IsValid()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


82 Class Documentation

10.18.2.3 PoDoFo::PdfDate::PdfDate ( const PdfString & sDate )

Create a PdfDate with a specified date and time

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.19 PoDoFo::PdfDestination Class Reference 83

Parameters
szDate the date and time of this object in PDF format. It has to be a string of the format (D:YYYY←-
MMDDHHmmSSOHH'mm'). Otherwise IsValid will return false.

Use IsValid to check wether the string could be converted to a valid PdfDate object.

See also

IsValid()

10.18.2.4 PoDoFo::PdfDate::∼PdfDate ( ) [virtual]

Delete the PdfDate object

10.18.3 Member Function Documentation

10.18.3.1 const time_t & PoDoFo::PdfDate::GetTime ( ) const [inline]

Returns

the date and time of this PdfDate in seconds since epoch.

10.18.3.2 bool PoDoFo::PdfDate::IsValid ( ) const [inline]

You can use this function to check wether the date you passed to the constructor could be converted to a valid pdf
date string or a valid time_t.

Returns

true if the PdfDate object is valid

10.18.3.3 void PoDoFo::PdfDate::ToString ( PdfString & rsString ) const [inline]

The value returned by this function can be used in any PdfObject where a date is needed.
Parameters
rsString write the date to a PdfString

10.19 PoDoFo::PdfDestination Class Reference

#include <PdfDestination.h>

Public Member Functions

• PdfDestination (PdfVecObjects ∗pParent)


• PdfDestination (PdfObject ∗pObject, PdfDocument ∗pDocument)
• PdfDestination (PdfObject ∗pObject, PdfVecObjects ∗pVecObjects)
• PdfDestination (const PdfPage ∗pPage, EPdfDestinationFit eFit=ePdfDestinationFit_Fit)
• PdfDestination (const PdfPage ∗pPage, const PdfRect &rRect)
• PdfDestination (const PdfPage ∗pPage, double dLeft, double dTop, double dZoom)
• PdfDestination (const PdfPage ∗pPage, EPdfDestinationFit eFit, double dValue)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


84 Class Documentation

• PdfDestination (const PdfDestination &rhs)


• const PdfDestination & operator= (const PdfDestination &rhs)
• PdfPage ∗ GetPage (PdfDocument ∗pDoc)
• PdfPage ∗ GetPage (PdfVecObjects ∗pVecObjects)
• EPdfDestinationType GetType () const
• double GetZoom () const
• PdfRect GetRect () const
• double GetTop () const
• double GetLeft () const
• double GetDValue () const
• PdfObject ∗ GetObject ()
• const PdfObject ∗ GetObject () const
• PdfArray & GetArray ()
• const PdfArray & GetArray () const
• void AddToDictionary (PdfDictionary &dictionary) const

10.19.1 Detailed Description

A destination in a PDF file. A destination can either be a page or an action.

See also

PdfOutlineItem
PdfAnnotation
PdfDocument

10.19.2 Constructor & Destructor Documentation

10.19.2.1 PoDoFo::PdfDestination::PdfDestination ( PdfVecObjects ∗ pParent )

Create an empty destination - points to nowhere

10.19.2.2 PoDoFo::PdfDestination::PdfDestination ( PdfObject ∗ pObject, PdfDocument ∗ pDocument )

Create a new PdfDestination from an existing PdfObject (such as loaded from a doc)
Parameters
pObject the object to construct from
pDocument a PDF document owning this destination, needed to resolve pages

10.19.2.3 PoDoFo::PdfDestination::PdfDestination ( PdfObject ∗ pObject, PdfVecObjects ∗ pVecObjects )

Create a new PdfDestination from an existing PdfObject (such as loaded from a doc)
Parameters
pObject the object to construct from
pVecObjects a PdfVecObjects owning this destination, needed to resolve pages

10.19.2.4 PoDoFo::PdfDestination::PdfDestination ( const PdfPage ∗ pPage, EPdfDestinationFit eFit =


ePdfDestinationFit_Fit )

Create a new PdfDestination with a page as destination

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.19 PoDoFo::PdfDestination Class Reference 85

Parameters
pPage a page which is the destination
eFit fit mode for the page. Must be ePdfDestinationFit_Fit or ePdfDestinationFit_FitB

10.19.2.5 PoDoFo::PdfDestination::PdfDestination ( const PdfPage ∗ pPage, const PdfRect & rRect )

Create a destination to a page with its contents magnified to fit into the given rectangle
Parameters
pPage a page which is the destination
rRect magnify the page so that the contents of the rectangle are visible

10.19.2.6 PoDoFo::PdfDestination::PdfDestination ( const PdfPage ∗ pPage, double dLeft, double dTop, double dZoom )

Create a new destination to a page with specified left and top coordinates and a zoom factor.
Parameters
pPage a page which is the destination
dLeft left coordinate
dTop top coordinate
dZoom zoom factor in the viewer

10.19.2.7 PoDoFo::PdfDestination::PdfDestination ( const PdfPage ∗ pPage, EPdfDestinationFit eFit, double dValue )

Create a new destination to a page.


Parameters
pPage a page which is the destination
eFit fit mode for the Page. Allowed values are ePdfDestinationFit_FitH, ePdfDestinationFit_FitV,
ePdfDestinationFit_FitBH, ePdfDestinationFit_FitBV
dValue value which is a required argument for the selected fit mode

10.19.2.8 PoDoFo::PdfDestination::PdfDestination ( const PdfDestination & rhs )

Copy an existing PdfDestination


Parameters
rhs copy this PdfDestination

10.19.3 Member Function Documentation

10.19.3.1 void PoDoFo::PdfDestination::AddToDictionary ( PdfDictionary & dictionary ) const

Adds this destination to an dictionary. This method handles the all the complexities of making sure it's added
correctly
If this destination is empty. Nothing will be added.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


86 Class Documentation

Parameters
dictionary the destination will be added to this dictionary

10.19.3.2 PdfArray & PoDoFo::PdfDestination::GetArray ( ) [inline]

Get access to the internal array

Returns

the internal PdfArray

10.19.3.3 const PdfArray & PoDoFo::PdfDestination::GetArray ( ) const [inline]

Get access to the internal array This is an overloaded member function.

Returns

the internal PdfArray

10.19.3.4 double PoDoFo::PdfDestination::GetDValue ( ) const [inline]

Get the destination Value Destination must be of type FitH, FitV or FitBH, otherwise exception is thrown

Returns

the destination Value

10.19.3.5 double PoDoFo::PdfDestination::GetLeft ( ) const [inline]

Get the destination Left position Destination must be of type XYZ, FitV or FitR otherwise exception is thrown.

Returns

the Left position

10.19.3.6 PdfObject ∗ PoDoFo::PdfDestination::GetObject ( ) [inline]

Get access to the internal object

Returns

the internal PdfObject

10.19.3.7 const PdfObject ∗ PoDoFo::PdfDestination::GetObject ( ) const [inline]

Get access to the internal object This is an overloaded member function.

Returns

the internal PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.19 PoDoFo::PdfDestination Class Reference 87

10.19.3.8 PdfPage ∗ PoDoFo::PdfDestination::GetPage ( PdfDocument ∗ pDoc )

Get the page that this destination points to Requires that this PdfDestination was somehow created by or from a
PdfDocument. Won't work otherwise.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


88 Class Documentation

Parameters
pDoc a PDF document owning this destination, needed to resolve pages

Returns

the referenced PdfPage

10.19.3.9 PdfPage ∗ PoDoFo::PdfDestination::GetPage ( PdfVecObjects ∗ pVecObjects )

Get the page that this destination points to Requires that this PdfDestination was somehow created by or from a
PdfDocument. Won't work otherwise.
Parameters
pVecObjects a PdfVecObjects owning this destination, needed to resolve pages

Returns

the referenced PdfPage

10.19.3.10 PdfRect PoDoFo::PdfDestination::GetRect ( ) const [inline]

Get the destination rect Destination must be of type FirR otherwise exception is thrown

Returns

the destination rect

10.19.3.11 double PoDoFo::PdfDestination::GetTop ( ) const [inline]

Get the destination Top position Destination must be of type XYZ, FitH, FitR, FitBH otherwise exception is thrown.

Returns

the Top position

10.19.3.12 EPdfDestinationType PoDoFo::PdfDestination::GetType ( ) const [inline]

Get the destination fit type

Returns

the fit type

10.19.3.13 double PoDoFo::PdfDestination::GetZoom ( ) const [inline]

Get the destination zoom Destination must be of type XYZ otherwise exception is thrown.

Returns

the zoom

10.19.3.14 const PdfDestination & PoDoFo::PdfDestination::operator= ( const PdfDestination & rhs )

Copy an existing PdfDestination

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.20 PoDoFo::PdfDeviceInputStream Class Reference 89

Parameters
rhs copy this PdfDestination

Returns

this object

10.20 PoDoFo::PdfDeviceInputStream Class Reference

#include <PdfInputStream.h>
Inheritance diagram for PoDoFo::PdfDeviceInputStream:

PoDoFo::PdfInputStream

PoDoFo::PdfDeviceInputStream

Public Member Functions

• PdfDeviceInputStream (PdfInputDevice ∗pDevice)


• virtual pdf_long Read (char ∗pBuffer, pdf_long lLen, pdf_long ∗)

10.20.1 Detailed Description

An input stream that reads data from an input device

10.20.2 Constructor & Destructor Documentation

10.20.2.1 PoDoFo::PdfDeviceInputStream::PdfDeviceInputStream ( PdfInputDevice ∗ pDevice )

Read from an alread opened input device


Parameters
pDevice an input device

10.20.3 Member Function Documentation

10.20.3.1 pdf_long PoDoFo::PdfDeviceInputStream::Read ( char ∗ pBuffer, pdf_long lLen, pdf_long ∗ ) [virtual]

Read data from the input stream


Parameters
pBuffer the data will be stored into this buffer
lLen the size of the buffer and number of bytes that will be read

Returns

the number of bytes read, -1 if an error ocurred and zero if no more bytes are available for reading.

Implements PoDoFo::PdfInputStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


90 Class Documentation

10.21 PoDoFo::PdfDeviceOutputStream Class Reference

#include <PdfOutputStream.h>
Inheritance diagram for PoDoFo::PdfDeviceOutputStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfDeviceOutputStream

Public Member Functions

• PdfDeviceOutputStream (PdfOutputDevice ∗pDevice)


• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()

10.21.1 Detailed Description

An output stream that writes to a PdfOutputDevice

10.21.2 Constructor & Destructor Documentation

10.21.2.1 PoDoFo::PdfDeviceOutputStream::PdfDeviceOutputStream ( PdfOutputDevice ∗ pDevice )

Write to an already opened input device


Parameters
pDevice an output device

10.21.3 Member Function Documentation

10.21.3.1 virtual void PoDoFo::PdfDeviceOutputStream::Close ( ) [inline], [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

10.21.3.2 pdf_long PoDoFo::PdfDeviceOutputStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Returns

the number of bytes written, -1 if an error ocurred

Implements PoDoFo::PdfOutputStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.22 PoDoFo::PdfDictionary Class Reference 91

10.22 PoDoFo::PdfDictionary Class Reference

#include <PdfDictionary.h>
Inheritance diagram for PoDoFo::PdfDictionary:

PoDoFo::PdfDataType

PoDoFo::PdfDictionary

Public Member Functions

• PdfDictionary ()
• PdfDictionary (const PdfDictionary &rhs)
• virtual ∼PdfDictionary ()
• const PdfDictionary & operator= (const PdfDictionary &rhs)
• bool operator== (const PdfDictionary &rhs) const
• bool operator!= (const PdfDictionary &rhs) const
• void Clear ()
• void AddKey (const PdfName &identifier, const PdfObject &rObject)
• void AddKey (const PdfName &identifier, const PdfObject ∗pObject)
• const PdfObject ∗ GetKey (const PdfName &key) const
• PdfObject ∗ GetKey (const PdfName &key)
• bool HasKey (const PdfName &key) const
• bool RemoveKey (const PdfName &identifier)
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt, const
PdfName &keyStop=PdfName::KeyNull) const
• const TKeyMap & GetKeys () const
• TKeyMap & GetKeys ()
• virtual bool IsDirty () const
• virtual void SetDirty (bool bDirty)

Additional Inherited Members

10.22.1 Detailed Description

The PDF dictionary data type of PoDoFo (inherits from PdfDataType, the base class for such representations)

10.22.2 Constructor & Destructor Documentation

10.22.2.1 PoDoFo::PdfDictionary::PdfDictionary ( )

Create a new, empty dictionary

10.22.2.2 PoDoFo::PdfDictionary::PdfDictionary ( const PdfDictionary & rhs )

Deep copy a dictionary

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


92 Class Documentation

Parameters
rhs the PdfDictionary to copy

10.22.2.3 PoDoFo::PdfDictionary::∼PdfDictionary ( ) [virtual]

Destructor

10.22.3 Member Function Documentation

10.22.3.1 void PoDoFo::PdfDictionary::AddKey ( const PdfName & identifier, const PdfObject & rObject )

Add a key to the dictionary. If an existing key of this name exists, its value is replaced and the old value object will
be deleted. The passed object is copied.
Parameters
identifier the key is identified by this name in the dictionary
rObject a variant object containing the data. The object is copied.

This will set the dirty flag of this object.

See also

IsDirty

10.22.3.2 void PoDoFo::PdfDictionary::AddKey ( const PdfName & identifier, const PdfObject ∗ pObject )

Add a key to the dictionary. If an existing key of this name exists, its value is replaced and the old value object will
be deleted. The passed object is copied.
This is an overloaded member function.
Parameters
identifier the key is identified by this name in the dictionary
rObject a variant object containing the data. The object is copied.

This will set the dirty flag of this object.

See also

IsDirty

10.22.3.3 void PoDoFo::PdfDictionary::Clear ( )

Removes all keys from the dictionary

10.22.3.4 const PdfObject ∗ PoDoFo::PdfDictionary::GetKey ( const PdfName & key ) const

Get the keys value out of the dictionary.


The returned value is a pointer to the internal object in the dictionary so it MUST not be deleted.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.22 PoDoFo::PdfDictionary Class Reference 93

Parameters
key look for the key names pszKey in the dictionary

Returns

pointer to the found value or 0 if the key was not found.

10.22.3.5 PdfObject ∗ PoDoFo::PdfDictionary::GetKey ( const PdfName & key )

Get the keys value out of the dictionary. This is an overloaded member function.
The returned value is a pointer to the internal object in the dictionary. It may be modified but is still owned by the
dictionary so it MUST not be deleted.
Parameters
key look for the key named key in the dictionary

Returns

the found value or 0 if the key was not found.

10.22.3.6 const TKeyMap & PoDoFo::PdfDictionary::GetKeys ( ) const [inline]

Get access to the internal map of keys.

Returns

all keys of this dictionary

10.22.3.7 TKeyMap & PoDoFo::PdfDictionary::GetKeys ( ) [inline]

Get access to the internal map of keys.

Returns

all keys of this dictionary

10.22.3.8 bool PoDoFo::PdfDictionary::HasKey ( const PdfName & key ) const

Allows to check if a dictionary contains a certain key.


Parameters
key look for the key named key.Name() in the dictionary

Returns

true if the key is part of the dictionary, otherwise false.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


94 Class Documentation

10.22.3.9 bool PoDoFo::PdfDictionary::IsDirty ( ) const [virtual]

The dirty flag is set if this variant has been modified after construction.
Usually the dirty flag is also set if you call any non-const member function as we cannot determine if you actually
changed something or not.

Returns

true if the value is dirty and has been modified since construction

Reimplemented from PoDoFo::PdfDataType.

10.22.3.10 bool PoDoFo::PdfDictionary::operator!= ( const PdfDictionary & rhs ) const [inline]

See also

operator==

10.22.3.11 const PdfDictionary & PoDoFo::PdfDictionary::operator= ( const PdfDictionary & rhs )

Asignment operator. Asign another PdfDictionary to this dictionary. This is a deep copy; all elements of the source
dictionary are duplicated.
Parameters
rhs the PdfDictionary to copy.

Returns

this PdfDictionary

This will set the dirty flag of this object.

See also

IsDirty

10.22.3.12 bool PoDoFo::PdfDictionary::operator== ( const PdfDictionary & rhs ) const

Comparison operator. If this dictionary contains all the same keys as the other dictionary, and for each key the
values compare equal, the dictionaries are considered equal.

10.22.3.13 bool PoDoFo::PdfDictionary::RemoveKey ( const PdfName & identifier )

Remove a key from this dictionary. If the key does not exists, this function does nothing.
Parameters
identifier the name of the key to delete

Returns

true if the key was found in the object and was removed if there was is no key with this name, false is returned.

This will set the dirty flag of this object.

See also

IsDirty

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.23 PoDoFo::PdfDifferenceEncoding Class Reference 95

10.22.3.14 void PoDoFo::PdfDictionary::SetDirty ( bool bDirty ) [virtual]

Sets the dirty flag of this PdfVariant


Parameters
bDirty true if this PdfVariant has been modified from the outside

See also

IsDirty

Reimplemented from PoDoFo::PdfDataType.

10.22.3.15 void PoDoFo::PdfDictionary::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const [inline], [virtual]

Write the complete dictionary to a file.


Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implements PoDoFo::PdfDataType.

10.22.3.16 void PoDoFo::PdfDictionary::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt, const PdfName & keyStop = PdfName::KeyNull ) const

Write the complete dictionary to a file.


Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object
keyStop if not KeyNull and a key == keyStop is found writing will stop right before this key!

10.23 PoDoFo::PdfDifferenceEncoding Class Reference

#include <PdfDifferenceEncoding.h>
Inheritance diagram for PoDoFo::PdfDifferenceEncoding:

PoDoFo::PdfEncoding PoDoFo::PdfElement

PoDoFo::PdfDifferenceEncoding

Public Types

• enum EBaseEncoding { eBaseEncoding_Font, eBaseEncoding_WinAnsi, eBaseEncoding_MacRoman, e←-


BaseEncoding_MacExpert }

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


96 Class Documentation

Public Member Functions

• PdfDifferenceEncoding (const PdfEncodingDifference &rDifference, PdfDocument ∗pParent, bool bAuto←-


Delete=true)
• PdfDifferenceEncoding (const PdfEncodingDifference &rDifference, PdfVecObjects ∗pParent, bool bAuto←-
Delete=true)
• PdfDifferenceEncoding (const PdfEncodingDifference &rDifference, EBaseEncoding eBaseEncoding, Pdf←-
Document ∗pParent, bool bAutoDelete=true)
• PdfDifferenceEncoding (const PdfEncodingDifference &rDifference, EBaseEncoding eBaseEncoding, Pdf←-
VecObjects ∗pParent, bool bAutoDelete=true)
• PdfDifferenceEncoding (PdfObject ∗pObject, bool bAutoDelete=true, bool bExplicitNames=false)
• virtual void AddToDictionary (PdfDictionary &rDictionary) const
• virtual PdfString ConvertToUnicode (const PdfString &rEncodedString, const PdfFont ∗pFont) const
• virtual PdfRefCountedBuffer ConvertToEncoding (const PdfString &rString, const PdfFont ∗pFont) const
• virtual bool IsAutoDelete () const
• virtual bool IsSingleByteEncoding () const
• const PdfEncodingDifference & GetDifferences () const
• virtual pdf_utf16be GetCharCode (int nIndex) const

Static Public Member Functions

• static pdf_utf16be NameToUnicodeID (const PdfName &rName)


• static PdfName UnicodeIDToName (pdf_utf16be inCodePoint)

Protected Member Functions

• virtual const PdfName & GetID () const

Additional Inherited Members

10.23.1 Detailed Description

PdfDifferenceEncoding is an encoding, which is based on either the fonts encoding or a predefined encoding and
defines differences to this base encoding.

10.23.2 Member Enumeration Documentation

10.23.2.1 enum PoDoFo::PdfDifferenceEncoding::EBaseEncoding

Defines the base encoding from which a PdfDifferenceEncoding differs.

Enumerator

eBaseEncoding_Font Use The fonts encoding as base.


eBaseEncoding_WinAnsi Use WinAnsiEncoding as base encoding.
eBaseEncoding_MacRoman Use MacRomanEncoding as base encoding.
eBaseEncoding_MacExpert Use MacExpertEncoding as base encoding.

10.23.3 Constructor & Destructor Documentation

10.23.3.1 PoDoFo::PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfEncodingDifference & rDifference,


PdfDocument ∗ pParent, bool bAutoDelete = true )

Create a new PdfDifferenceEncoding which is based on the fonts encoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.23 PoDoFo::PdfDifferenceEncoding Class Reference 97

Parameters
rDifference the differences in this encoding
pParent parent PdfVecObjects. Add a newly created object to this vector.
bAutoDelete if true the encoding is deleted by its owning font

10.23.3.2 PoDoFo::PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfEncodingDifference & rDifference,


PdfVecObjects ∗ pParent, bool bAutoDelete = true )

Create a new PdfDifferenceEncoding which is based on the fonts encoding.


Parameters
rDifference the differences in this encoding
pParent parent PdfDocument. Add a newly created object to this vector.
bAutoDelete if true the encoding is deleted by its owning font

10.23.3.3 PoDoFo::PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfEncodingDifference & rDifference,


EBaseEncoding eBaseEncoding, PdfDocument ∗ pParent, bool bAutoDelete = true )

Create a new PdfDifferenceEncoding which is based on a predefined encoding.


Parameters
rDifference the differences in this encoding
eBaseEncoding the base encoding of this font
pParent parent PdfDocument. Add a newly created object to this vector.
bAutoDelete if true the encoding is deleted by its owning font

10.23.3.4 PoDoFo::PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfEncodingDifference & rDifference,


EBaseEncoding eBaseEncoding, PdfVecObjects ∗ pParent, bool bAutoDelete = true )

Create a new PdfDifferenceEncoding which is based on a predefined encoding.


Parameters
rDifference the differences in this encoding
eBaseEncoding the base encoding of this font
pParent parent PdfVecObjects. Add a newly created object to this vector.
bAutoDelete if true the encoding is deleted by its owning font

10.23.3.5 PoDoFo::PdfDifferenceEncoding::PdfDifferenceEncoding ( PdfObject ∗ pObject, bool bAutoDelete = true, bool


bExplicitNames = false )

Create a new PdfDifferenceEncoding from an existing object in a PDF file.


Parameters
pObject an existing differences encoding
bAutoDelete if true the encoding is deleted by its owning font
bExplicitNames if true, glyph names are meaningless explicit keys on the font (used for Type3 fonts)

10.23.4 Member Function Documentation

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


98 Class Documentation

10.23.4.1 void PoDoFo::PdfDifferenceEncoding::AddToDictionary ( PdfDictionary & rDictionary ) const [virtual]

Add this encoding object to a dictionary usually be adding an /Encoding key in font dictionaries.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.23 PoDoFo::PdfDifferenceEncoding Class Reference 99

Parameters
rDictionary add the encoding to this dictionary

Implements PoDoFo::PdfEncoding.

10.23.4.2 PdfRefCountedBuffer PoDoFo::PdfDifferenceEncoding::ConvertToEncoding ( const PdfString & rString, const


PdfFont ∗ pFont ) const [virtual]

Convert a unicode PdfString to a string encoded with this encoding.


Parameters
rString an unicode PdfString.
pFont the font for which this string is converted

Returns

an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes and is allowed to


have 0 bytes. The returned buffer must not be a unicode string.

Reimplemented from PoDoFo::PdfEncoding.

10.23.4.3 PdfString PoDoFo::PdfDifferenceEncoding::ConvertToUnicode ( const PdfString & rEncodedString, const


PdfFont ∗ pFont ) const [virtual]

Convert a string that is encoded with this encoding to an unicode PdfString.


Parameters
rEncodedString a string encoded by this encoding. Usually this string was read from a content stream.
pFont the font for which this string is converted

Returns

an unicode PdfString.

Reimplemented from PoDoFo::PdfEncoding.

10.23.4.4 pdf_utf16be PoDoFo::PdfDifferenceEncoding::GetCharCode ( int nIndex ) const [virtual]

Get the unicode character code for this encoding at the position nIndex. nIndex is a position between GetFirstChar()
and GetLastChar()
Parameters
nIndex character code at position index

Returns

unicode character code

See also

GetFirstChar
GetLastChar

Will throw an exception if nIndex is out of range.


Implements PoDoFo::PdfEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


100 Class Documentation

10.23.4.5 const PdfEncodingDifference & PoDoFo::PdfDifferenceEncoding::GetDifferences ( ) const [inline]

Get read-only access to the object containing the actual differences.

Returns

the container with the actual differences

10.23.4.6 const PdfName & PoDoFo::PdfDifferenceEncoding::GetID ( ) const [inline], [protected],


[virtual]

Get a unique ID for this encoding which can used for comparisons!

Returns

a unique id for this encoding!

Implements PoDoFo::PdfEncoding.

10.23.4.7 bool PoDoFo::PdfDifferenceEncoding::IsAutoDelete ( ) const [inline], [virtual]

Returns

true if this encoding should be deleted automatically with the font.

Implements PoDoFo::PdfEncoding.

10.23.4.8 bool PoDoFo::PdfDifferenceEncoding::IsSingleByteEncoding ( ) const [inline], [virtual]

Returns

true if this is a single byte encoding with a maximum of 256 values.

Implements PoDoFo::PdfEncoding.

10.23.4.9 pdf_utf16be PoDoFo::PdfDifferenceEncoding::NameToUnicodeID ( const PdfName & rName ) [static]

Convert a standard character name to a unicode code point


Parameters
rName a standard character name

Returns

an unicode code point

10.23.4.10 PdfName PoDoFo::PdfDifferenceEncoding::UnicodeIDToName ( pdf_utf16be inCodePoint ) [static]

Convert an unicode code point to a standard character name

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.24 PoDoFo::PdfDocEncoding Class Reference 101

Parameters
inCodePoint a code point

Returns

a standard character name of /.notdef if none could be found

10.24 PoDoFo::PdfDocEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfDocEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfDocEncoding

Public Member Functions

• PdfDocEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.24.1 Detailed Description

The PdfDocEncoding is the default encoding for all strings in PoDoFo which are data in the PDF file.
Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::DocEncoding.

See also

PdfFont::DocEncoding

10.24.2 Constructor & Destructor Documentation

10.24.2.1 PoDoFo::PdfDocEncoding::PdfDocEncoding ( ) [inline]

Create a new PdfDocEncoding

10.24.3 Member Function Documentation

10.24.3.1 const pdf_utf16be ∗ PoDoFo::PdfDocEncoding::GetToUnicodeTable ( ) const [protected], [virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


102 Class Documentation

This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.

10.25 PoDoFo::PdfDocument Class Reference

#include <PdfDocument.h>
Inheritance diagram for PoDoFo::PdfDocument:

PoDoFo::PdfDocument

PoDoFo::PdfMemDocument PoDoFo::PdfStreamedDocument

Public Member Functions

• virtual ∼PdfDocument ()
• virtual EPdfWriteMode GetWriteMode () const =0
• virtual EPdfVersion GetPdfVersion () const =0
• virtual bool IsLinearized () const =0
• PdfInfo ∗ GetInfo () const
• PdfOutlines ∗ GetOutlines (bool bCreate=ePdfCreateObject)
• PdfNamesTree ∗ GetNamesTree (bool bCreate=ePdfCreateObject)
• PdfAcroForm ∗ GetAcroForm (bool bCreate=ePdfCreateObject, EPdfAcroFormDefaulAppearance eDefault←-
Appearance=ePdfAcroFormDefaultAppearance_BlackText12pt)
• PdfPagesTree ∗ GetPagesTree () const
• int GetPageCount () const
• PdfPage ∗ GetPage (int nIndex) const
• PdfFont ∗ CreateFont (const char ∗pszFontName, bool bSymbolCharset=false, const PdfEncoding ∗const
pEncoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), PdfFontCache::EFontCreationFlags
eFontCreationFlags=PdfFontCache::eFontCreationFlags_AutoSelectBase14, bool bEmbedd=true)
• PdfFont ∗ CreateFont (const char ∗pszFontName, bool bBold, bool bItalic, bool bSymbolCharset=false, const
PdfEncoding ∗const pEncoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), PdfFontCache::←-
EFontCreationFlags eFontCreationFlags=PdfFontCache::eFontCreationFlags_AutoSelectBase14, bool b←-
Embedd=true, const char ∗pszFileName=NULL)
• PdfFont ∗ CreateFont (FT_Face face, bool bSymbolCharset=false, const PdfEncoding ∗const p←-
Encoding=PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), bool bEmbedd=true)
• PdfFont ∗ CreateDuplicateFontType1 (PdfFont ∗pFont, const char ∗pszSuffix)
• PdfFont ∗ CreateFontSubset (const char ∗pszFontName, bool bBold, bool bItalic, bool bSymbol←-
Charset=false, const PdfEncoding ∗const pEncoding=PdfEncodingFactory::GlobalWinAnsiEncoding←-
Instance(), const char ∗pszFileName=NULL)
• FT_Library GetFontLibrary () const
• void EmbedSubsetFonts ()
• PdfPage ∗ CreatePage (const PdfRect &rSize)
• void CreatePages (const std::vector< PdfRect > &vecSizes)
• PdfPage ∗ InsertPage (const PdfRect &rSize, int atIndex)
• const PdfDocument & Append (const PdfMemDocument &rDoc, bool bAppendAll=true)
• const PdfDocument & InsertExistingPageAt (const PdfMemDocument &rDoc, int nPageIndex, int nAtIndex)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 103

• PdfRect FillXObjectFromDocumentPage (PdfXObject ∗pXObj, const PdfMemDocument &rDoc, int nPage,


bool bUseTrimBox)
• PdfRect FillXObjectFromExistingPage (PdfXObject ∗pXObj, int nPage, bool bUseTrimBox)
• PdfRect FillXObjectFromPage (PdfXObject ∗pXObj, const PdfPage ∗pPage, bool bUseTrimBox, unsigned int
difference)
• void AttachFile (const PdfFileSpec &rFileSpec)
• PdfFileSpec ∗ GetAttachment (const PdfString &rName)
• void AddNamedDestination (const PdfDestination &rDest, const PdfString &rsName)
• void SetPageMode (EPdfPageMode inMode)
• EPdfPageMode GetPageMode (void) const
• void SetUseFullScreen (void)
• void SetPageLayout (EPdfPageLayout inLayout)
• void SetHideToolbar (void)
• void SetHideMenubar (void)
• void SetHideWindowUI (void)
• void SetFitWindow (void)
• void SetCenterWindow (void)
• void SetDisplayDocTitle (void)
• void SetPrintScaling (PdfName &inScalingType)
• void SetBaseURI (const std::string &inBaseURI)
• void SetLanguage (const std::string &inLanguage)
• void SetBindingDirection (PdfName &inDirection)
• virtual bool IsPrintAllowed () const =0
• virtual bool IsEditAllowed () const =0
• virtual bool IsCopyAllowed () const =0
• virtual bool IsEditNotesAllowed () const =0
• virtual bool IsFillAndSignAllowed () const =0
• virtual bool IsAccessibilityAllowed () const =0
• virtual bool IsDocAssemblyAllowed () const =0
• virtual bool IsHighPrintAllowed () const =0
• PdfVecObjects ∗ GetObjects ()
• const PdfVecObjects ∗ GetObjects () const
• void SetFontConfigWrapper (const PdfFontConfigWrapper &rFontConfig)

Protected Member Functions

• PdfDocument (bool bEmpty=false)


• void SetInfo (PdfInfo ∗pInfo)
• PdfObject ∗ GetCatalog ()
• const PdfObject ∗ GetCatalog () const
• void SetCatalog (PdfObject ∗pObject)
• PdfObject ∗ GetTrailer ()
• const PdfObject ∗ GetTrailer () const
• void SetTrailer (PdfObject ∗pObject)
• PdfObject ∗ GetNamedObjectFromCatalog (const char ∗pszName) const
• void InitPagesTree ()
• void FixObjectReferences (PdfObject ∗pObject, int difference)
• void SetViewerPreference (const PdfName &whichPref, const PdfObject &valueObj)
• void SetViewerPreference (const PdfName &whichPref, bool inValue)
• void Clear ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


104 Class Documentation

10.25.1 Detailed Description

PdfDocument is the core interface for working with PDF documents.


PdfDocument provides easy access to the individual pages in the PDF file and to certain special dictionaries.
PdfDocument cannot be used directly. Use PdfMemDocument whenever you want to change the object structure of
a PDF file.
When you are only creating PDF files, please use PdfStreamedDocument which is usually faster for creating PDFs.

See also

PdfStreamedDocument
PdfMemDocument

10.25.2 Constructor & Destructor Documentation

10.25.2.1 PoDoFo::PdfDocument::∼PdfDocument ( ) [virtual]

Close down/destruct the PdfDocument

10.25.2.2 PoDoFo::PdfDocument::PdfDocument ( bool bEmpty = false ) [protected]

Construct a new (empty) PdfDocument


Parameters
bEmtpy if true NO default objects (such as catalog) are created.

10.25.3 Member Function Documentation

10.25.3.1 void PoDoFo::PdfDocument::AddNamedDestination ( const PdfDestination & rDest, const PdfString & rsName )

Adds a PdfDestination into the global Names tree with the specified name, optionally replacing one of the same
name
Parameters
rDest the destination to be assigned
rsName the name for the destination

10.25.3.2 const PdfDocument & PoDoFo::PdfDocument::Append ( const PdfMemDocument & rDoc, bool bAppendAll =
true )

Appends another PdfDocument to this document


Parameters
rDoc the document to append
bAppendAll specifies whether pages and outlines are appended too

Returns

this document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 105

10.25.3.3 void PoDoFo::PdfDocument::AttachFile ( const PdfFileSpec & rFileSpec )

Attach a file to the document.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


106 Class Documentation

Parameters
rFileSpec a file specification

10.25.3.4 void PoDoFo::PdfDocument::Clear ( ) [protected]

Clear all internal variables And reset PdfDocument to an intial state

10.25.3.5 PdfFont ∗ PoDoFo::PdfDocument::CreateDuplicateFontType1 ( PdfFont ∗ pFont, const char ∗ pszSuffix )

Creates a duplicate Type1-PdfFont with a new Id


Parameters
pFont is the existing font
pszSuffix Suffix to add to font-id The returned object is owned by the PdfDocument.

TODO: DS: Make this generic so that it will work for any font type!

10.25.3.6 PdfFont ∗ PoDoFo::PdfDocument::CreateFont ( const char ∗ pszFontName, bool bSymbolCharset


= false, const PdfEncoding ∗const pEncoding = PdfEncodingFactory::GlobalWin←-
AnsiEncodingInstance(), PdfFontCache::EFontCreationFlags eFontCreationFlags =
PdfFontCache::eFontCreationFlags_AutoSelectBase14, bool bEmbedd = true )

Creates a PdfFont object


Parameters
pszFontName name of the font as it is known to the system
bSymbolCharset whether to use symbol charset, rather than unicode charset
pEncoding the encoding of the font. The font will not take ownership of this object.
eFontCreation←- special flag to specify how fonts should be created
Flags
bEmbedd specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a
good idea.

Returns

PdfFont∗ a pointer to a new PdfFont object. The returned object is owned by the PdfDocument.

10.25.3.7 PdfFont ∗ PoDoFo::PdfDocument::CreateFont ( const char ∗ pszFontName, bool bBold,


bool bItalic, bool bSymbolCharset = false, const PdfEncoding ∗const pEncoding =
PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), PdfFontCache::EFontCreationFlags
eFontCreationFlags = PdfFontCache::eFontCreationFlags_AutoSelectBase14, bool bEmbedd = true,
const char ∗ pszFileName = NULL )

Creates a PdfFont object


Parameters
pszFontName name of the font as it is known to the system
bBold if true search for a bold font
bItalic if true search for an italic font

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 107

bSymbolCharset whether to use symbol charset, rather than unicode charset


pEncoding the encoding of the font. The font will not take ownership of this object.
eFontCreation←- special flag to specify how fonts should be created
Flags
bEmbedd specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a
good idea.
pszFileName path to a valid font file

Returns

PdfFont∗ a pointer to a new PdfFont object.

10.25.3.8 PdfFont ∗ PoDoFo::PdfDocument::CreateFont ( FT_Face face, bool bSymbolCharset = false, const


PdfEncoding ∗const pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), bool
bEmbedd = true )

Creates a PdfFont object


Parameters
face a valid freetype font handle (will be free'd by PoDoFo)
bSymbolCharset whether to use symbol charset, rather than unicode charset
pEncoding the encoding of the font. The font will not take ownership of this object.
bEmbedd specifies whether this font should be embedded in the PDF file. Embedding fonts is usually a
good idea.

Returns

PdfFont∗ a pointer to a new PdfFont object. The returned object is owned by the PdfDocument.

10.25.3.9 PdfFont ∗ PoDoFo::PdfDocument::CreateFontSubset ( const char ∗ pszFontName, bool


bBold, bool bItalic, bool bSymbolCharset = false, const PdfEncoding ∗const pEncoding =
PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char ∗ pszFileName = NULL )

Creates a font subset which contains only a few characters and is embedded.
THIS WORKS ONLY FOR TTF FONTS!
Parameters
pszFontName name of the font as it is known to the system
bBold if true search for a bold font
bItalic if true search for an italic font
bSymbolCharset whether to use symbol charset, rather than unicode charset
pEncoding the encoding of the font. The font will not take ownership of this object.
pszFileName optional path of a fontfile which should be used

Returns

PdfFont∗ a pointer to a new PdfFont object.

10.25.3.10 PdfPage ∗ PoDoFo::PdfDocument::CreatePage ( const PdfRect & rSize )

Creates a new page object and inserts it into the internal page tree. The returned page is owned by the Pdf←-
Document and will get deleted along with it!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


108 Class Documentation

Parameters
rSize a PdfRect spezifying the size of the page (i.e the /MediaBox key) in 1/1000th mm

Returns

a pointer to a PdfPage object

10.25.3.11 void PoDoFo::PdfDocument::CreatePages ( const std::vector< PdfRect > & vecSizes )

Creates several new page objects and inserts them into the internal page tree. The created pages are owned by
the PdfDocument and will get deleted along with it!
Parameters
vecSizes a vector PdfRect's specifying the size of the pages (i.e the /MediaBox key) in PDF Units

10.25.3.12 void PoDoFo::PdfDocument::EmbedSubsetFonts ( )

Embeds all pending subset-fonts, is automatically done on Write(). Just call explicit in case PdfDocument is needed
as XObject

10.25.3.13 PdfRect PoDoFo::PdfDocument::FillXObjectFromDocumentPage ( PdfXObject ∗ pXObj, const


PdfMemDocument & rDoc, int nPage, bool bUseTrimBox )

Fill an existing empty XObject from a page of another document This will append the other document with this one
Parameters
pXObj pointer to the XOject
rDoc the document to embedd into XObject
nPage page-number to embedd into XObject
bUseTrimBox if true try to use trimbox for size of xobject

Returns

the bounding box

10.25.3.14 PdfRect PoDoFo::PdfDocument::FillXObjectFromExistingPage ( PdfXObject ∗ pXObj, int nPage, bool


bUseTrimBox )

Fill an existing empty XObject from an existing page from the current document If you need a page from another
document use FillXObjectFromDocumentPage, or append the documents manually
Parameters
pXObj pointer to the XOject
nPage page-number to embedd into XObject
bUseTrimBox if true try to use trimbox for size of xobject

Returns

the bounding box

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 109

10.25.3.15 PdfRect PoDoFo::PdfDocument::FillXObjectFromPage ( PdfXObject ∗ pXObj, const PdfPage ∗ pPage, bool


bUseTrimBox, unsigned int difference )

Fill an existing empty XObject from an existing page pointer from the current document This is the implementation
for FillXObjectFromDocumentPage and FillXObjectFromExistingPage, you should use those directly instead of this

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


110 Class Documentation

Parameters
pXObj pointer to the XOject
pPage pointer to the page to embedd into XObject
bUseTrimBox if true try to use trimbox for size of xobject

Returns

the bounding box

10.25.3.16 void PoDoFo::PdfDocument::FixObjectReferences ( PdfObject ∗ pObject, int difference ) [protected]

Recursively changes every PdfReference in the PdfObject and in any child that is either an PdfArray or a direct
object. The reference is changed so that difference is added to the object number if the reference.
Parameters
pObject object to change
difference add this value to every reference that is encountered

10.25.3.17 PdfAcroForm ∗ PoDoFo::PdfDocument::GetAcroForm ( bool bCreate = ePdfCreateObject, EPdfAcro←-


FormDefaulAppearance eDefaultAppearance = ePdfAcroFormDefaultAppearance_BlackText12pt
)

Get access to the AcroForm dictionary


Parameters
bCreate create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist
eDefault←- specifies if a default appearence shall be created
Appearance

Returns

PdfObject the AcroForm dictionary

10.25.3.18 PdfFileSpec ∗ PoDoFo::PdfDocument::GetAttachment ( const PdfString & rName )

Get an attached file's filespec


Parameters
rName the name of the attachment

Returns

the file specification object if the file exists, NULL otherwise The file specification object is not owned by the
document and must be deleted by the caller

10.25.3.19 PdfObject ∗ PoDoFo::PdfDocument::GetCatalog ( ) [inline], [protected]

Get access to the internal Catalog dictionary or root object.

Returns

PdfObject the documents catalog

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 111

10.25.3.20 const PdfObject ∗ PoDoFo::PdfDocument::GetCatalog ( ) const [inline], [protected]

Get access to the internal Catalog dictionary or root object.

Returns

PdfObject the documents catalog

10.25.3.21 FT_Library PoDoFo::PdfDocument::GetFontLibrary ( ) const [inline]

Returns the font library from font cache

Returns

the internal handle to the freetype library

10.25.3.22 PdfInfo∗ PoDoFo::PdfDocument::GetInfo ( ) const [inline]

Get access to the internal Info dictionary You can set the author, title etc. of the document using the info dictionary.

Returns

the info dictionary

10.25.3.23 PdfObject ∗ PoDoFo::PdfDocument::GetNamedObjectFromCatalog ( const char ∗ pszName ) const


[protected]

Get a dictioary from the catalog dictionary by its name.


Parameters
pszName will be converted into a PdfName

Returns

the dictionary if it was found or NULL

10.25.3.24 PdfNamesTree ∗ PoDoFo::PdfDocument::GetNamesTree ( bool bCreate = ePdfCreateObject )

Get access to the Names dictionary (where all the named objects are stored) The returned PdfNamesTree object is
owned by the PdfDocument.
Parameters
bCreate create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist

Returns

the Names dictionary

10.25.3.25 PdfVecObjects ∗ PoDoFo::PdfDocument::GetObjects ( ) [inline]

Get access to the internal vector of objects or root object.

Returns

the vector of objects

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


112 Class Documentation

10.25.3.26 const PdfVecObjects ∗ PoDoFo::PdfDocument::GetObjects ( ) const [inline]

Get access to the internal vector of objects or root object.

Returns

the vector of objects

10.25.3.27 PdfOutlines ∗ PoDoFo::PdfDocument::GetOutlines ( bool bCreate = ePdfCreateObject )

Get access to the Outlines (Bookmarks) dictionary The returned outlines object is owned by the PdfDocument.
Parameters
bCreate create the object if it does not exist (ePdfCreateObject) or return NULL if it does not exist

Returns

the Outlines/Bookmarks dictionary

10.25.3.28 PdfPage ∗ PoDoFo::PdfDocument::GetPage ( int nIndex ) const

Get the PdfPage for a specific page in a document The returned page is owned by the PdfDocument and will get
deleted along with it!
Parameters
nIndex which page (0-based)

Returns

a pointer to a PdfPage for the requested page. The returned object is owned by the PdfDocument.

10.25.3.29 int PoDoFo::PdfDocument::GetPageCount ( void ) const

Get the total number of pages in a document

Returns

int number of pages

10.25.3.30 EPdfPageMode PoDoFo::PdfDocument::GetPageMode ( void ) const

Gets the opening mode for a document

Returns

which mode is set

10.25.3.31 PdfPagesTree ∗ PoDoFo::PdfDocument::GetPagesTree ( ) const [inline]

Get access to the pages tree. Better use GetPage and CreatePage methods.

Returns

the PdfPagesTree of this document.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 113

10.25.3.32 virtual EPdfVersion PoDoFo::PdfDocument::GetPdfVersion ( ) const [pure virtual]

Get the PDF version of the document

Returns

EPdfVersion version of the pdf document

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.33 PdfObject ∗ PoDoFo::PdfDocument::GetTrailer ( ) [inline], [protected]

Get access to the internal trailer dictionary or root object.

Returns

PdfObject the documents catalog

10.25.3.34 const PdfObject ∗ PoDoFo::PdfDocument::GetTrailer ( ) const [inline], [protected]

Get access to the internal trailer dictionary or root object.

Returns

PdfObject the documents catalog

10.25.3.35 virtual EPdfWriteMode PoDoFo::PdfDocument::GetWriteMode ( ) const [pure virtual]

Get the write mode used for wirting the PDF

Returns

the write mode

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.36 void PoDoFo::PdfDocument::InitPagesTree ( ) [protected]

Internal method for initializing the pages tree for this document

10.25.3.37 const PdfDocument & PoDoFo::PdfDocument::InsertExistingPageAt ( const PdfMemDocument & rDoc, int
nPageIndex, int nAtIndex )

Inserts existing page from another PdfMemDocument to this document


Parameters
rDoc the document to append from
nPageIndex Page index to append (0-based), from rDoc
nAtIndex Index at which add the page in this document

Returns

this document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


114 Class Documentation

10.25.3.38 PdfPage ∗ PoDoFo::PdfDocument::InsertPage ( const PdfRect & rSize, int atIndex )

Creates a new page object and inserts it at index atIndex. The returned page is owned by the pages tree and will
get deleted along with it!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 115

Parameters
rSize a PdfRect specifying the size of the page (i.e the /MediaBox key) in PDF units
atIndex index where to insert the new page (0-based)

Returns

a pointer to a PdfPage object

10.25.3.39 virtual bool PoDoFo::PdfDocument::IsAccessibilityAllowed ( ) const [pure virtual]

Checks if it is allowed to extract text and graphics to support users with disabillities Every PDF consuming applica-
tions has to adhere this value!

Returns

true if you are allowed to extract text and graphics to support users with disabillities

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.40 virtual bool PoDoFo::PdfDocument::IsCopyAllowed ( ) const [pure virtual]

Checks if text and graphics extraction is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to extract text and graphics from this document

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.41 virtual bool PoDoFo::PdfDocument::IsDocAssemblyAllowed ( ) const [pure virtual]

Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications
has to adhere this value!

Returns

true if you are allowed to insert, create, rotate, delete pages or add bookmarks

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


116 Class Documentation

10.25.3.42 virtual bool PoDoFo::PdfDocument::IsEditAllowed ( ) const [pure virtual]

Checks if modifiying this document (besides annotations, form fields or changing pages) is allowed. Every PDF
consuming applications has to adhere this value!

Returns

true if you are allowed to modfiy this document

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.43 virtual bool PoDoFo::PdfDocument::IsEditNotesAllowed ( ) const [pure virtual]

Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere
this value!

Returns

true if you are allowed to add or modify annotations or form fields

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.44 virtual bool PoDoFo::PdfDocument::IsFillAndSignAllowed ( ) const [pure virtual]

Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this
value!

Returns

true if you are allowed to fill in existing form or signature fields

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.45 virtual bool PoDoFo::PdfDocument::IsHighPrintAllowed ( ) const [pure virtual]

Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to
adhere this value!

Returns

true if you are allowed to print a high quality version of this document

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.25 PoDoFo::PdfDocument Class Reference 117

10.25.3.46 virtual bool PoDoFo::PdfDocument::IsLinearized ( ) const [pure virtual]

Returns wether this PDF document is linearized, aka weboptimized

Returns

true if the PDF document is linearized

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.47 virtual bool PoDoFo::PdfDocument::IsPrintAllowed ( ) const [pure virtual]

Checks if printing this document is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to print this document

See also

PdfEncrypt to set own document permissions.

Implemented in PoDoFo::PdfMemDocument, and PoDoFo::PdfStreamedDocument.

10.25.3.48 void PoDoFo::PdfDocument::SetBaseURI ( const std::string & inBaseURI )

Set the document's Viewer Preferences: Set the base URI of the document
TODO: DS document value!

10.25.3.49 void PoDoFo::PdfDocument::SetBindingDirection ( PdfName & inDirection )

Set the document's Viewer Preferences:

10.25.3.50 void PoDoFo::PdfDocument::SetCatalog ( PdfObject ∗ pObject ) [inline], [protected]

Set the catalog of this PdfDocument deleting the old one.


Parameters
pObject the new catalog object It will be owned by PdfDocument.

10.25.3.51 void PoDoFo::PdfDocument::SetCenterWindow ( void )

Set the document's Viewer Preferences: Center the document in the viewers window

10.25.3.52 void PoDoFo::PdfDocument::SetDisplayDocTitle ( void )

Set the document's Viewer Preferences: Display the title from the document information in the title of the viewer.

See also

SetTitle

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


118 Class Documentation

10.25.3.53 void PoDoFo::PdfDocument::SetFitWindow ( void )

Set the document's Viewer Preferences: Fit the document in the viewers window

10.25.3.54 void PoDoFo::PdfDocument::SetFontConfigWrapper ( const PdfFontConfigWrapper & rFontConfig )


[inline]

Set wrapper for the fontconfig library. Useful to avoid initializing Fontconfig multiple times.
This setter can be called until first use of Fontconfig as the library is initialized at first use.

10.25.3.55 void PoDoFo::PdfDocument::SetHideMenubar ( void )

Set the document's Viewer Preferences: Hide the menubar in the viewer

10.25.3.56 void PoDoFo::PdfDocument::SetHideToolbar ( void )

Set the document's Viewer Preferences: Hide the toolbar in the viewer

10.25.3.57 void PoDoFo::PdfDocument::SetHideWindowUI ( void )

Set the document's Viewer Preferences: Show only the documents contents and no controll elements such as
buttons and scrollbars in the viewer

10.25.3.58 void PoDoFo::PdfDocument::SetInfo ( PdfInfo ∗ pInfo ) [protected]

Set the info object containing meta information. Deletes any old info object.
Parameters
pInfo the new info object (will be owned by PdfDocument)

10.25.3.59 void PoDoFo::PdfDocument::SetLanguage ( const std::string & inLanguage )

Set the document's Viewer Preferences: Set the language of the document

10.25.3.60 void PoDoFo::PdfDocument::SetPageLayout ( EPdfPageLayout inLayout )

Sets the page layout for a document

10.25.3.61 void PoDoFo::PdfDocument::SetPageMode ( EPdfPageMode inMode )

Sets the opening mode for a document


Parameters
inMode which mode to set

10.25.3.62 void PoDoFo::PdfDocument::SetPrintScaling ( PdfName & inScalingType )

Set the document's Viewer Preferences: Set the default print scaling of the document
TODO: DS use an enum here!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.26 PoDoFo::PdfElement Class Reference 119

10.25.3.63 void PoDoFo::PdfDocument::SetTrailer ( PdfObject ∗ pObject ) [protected]

Set the trailer of this PdfDocument deleting the old one.


Parameters
pObject the new trailer object It will be owned by PdfDocument.

10.25.3.64 void PoDoFo::PdfDocument::SetUseFullScreen ( void )

Sets the opening mode for a document to be in full screen

10.25.3.65 void PoDoFo::PdfDocument::SetViewerPreference ( const PdfName & whichPref, const PdfObject & valueObj )
[protected]

Low level APIs for setting a viewer preference


Parameters
whichPref the dictionary key to set
valueObj the object to be set

10.25.3.66 void PoDoFo::PdfDocument::SetViewerPreference ( const PdfName & whichPref, bool inValue )


[protected]

Low level APIs for setting a viewer preference Convinience overload.


Parameters
whichPref the dictionary key to set
inValue the object to be set

10.26 PoDoFo::PdfElement Class Reference

#include <PdfElement.h>
Inheritance diagram for PoDoFo::PdfElement:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


120 Class Documentation

PoDoFo::PdfElement

PoDoFo::PdfAction

PoDoFo::PdfAnnotation

PoDoFo::PdfContents

PoDoFo::PdfDifferenceEncoding

PoDoFo::PdfExtGState

PoDoFo::PdfFileSpec

PoDoFo::PdfFont

PoDoFo::PdfFunction

PoDoFo::PdfInfo

PoDoFo::PdfOutlineItem

PoDoFo::PdfPage

PoDoFo::PdfPagesTree

PoDoFo::PdfShadingPattern

PoDoFo::PdfTilingPattern

PoDoFo::PdfXObject

Public Member Functions

• PdfObject ∗ GetObject ()
• const PdfObject ∗ GetObject () const

Protected Member Functions

• PdfElement (const char ∗pszType, PdfVecObjects ∗pParent)


• PdfElement (const char ∗pszType, PdfDocument ∗pParent)
• PdfElement (const char ∗pszType, PdfObject ∗pObject)
• PdfElement (EPdfDataType eExpectedDataType, PdfObject ∗pObject)
• const char ∗ TypeNameForIndex (int i, const char ∗∗ppTypes, long lLen) const
• int TypeNameToIndex (const char ∗pszType, const char ∗∗ppTypes, long lLen, int nUnknownValue) const
• PdfObject ∗ CreateObject (const char ∗pszType=NULL)
• PdfObject ∗ GetNonConstObject () const

10.26.1 Detailed Description

PdfElement is a common base class for all elements in a PDF file. For example pages, action and annotations.
Every PDF element has one PdfObject and provides an easier interface to modify the contents of the dictionary.
A PdfElement base class can be created from an existing PdfObject or created from scratch. In the later case, the
PdfElement creates a PdfObject and adds it to a vector of objects.
A PdfElement cannot be created directly. Use one of the subclasses which implement real functionallity.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.26 PoDoFo::PdfElement Class Reference 121

See also

PdfPage
PdfAction
PdfAnnotation

10.26.2 Constructor & Destructor Documentation

10.26.2.1 PoDoFo::PdfElement::PdfElement ( const char ∗ pszType, PdfVecObjects ∗ pParent ) [protected]

Creates a new PdfElement


Parameters
pszType type entry of the elements object
pParent parent vector of objects. Add a newly created object to this vector.

10.26.2.2 PoDoFo::PdfElement::PdfElement ( const char ∗ pszType, PdfDocument ∗ pParent ) [protected]

Creates a new PdfElement


Parameters
pszType type entry of the elements object
pParent parent PdfDocument. Add a newly created object to this vector.

10.26.2.3 PoDoFo::PdfElement::PdfElement ( const char ∗ pszType, PdfObject ∗ pObject ) [protected]

Create a PdfElement from an existing PdfObject The object must be a dictionary.


Parameters
pszType type entry of the elements object. Throws an exception if the type in the PdfObject differs
from pszType.
pObject pointer to the PdfObject that is modified by this PdfElement

10.26.2.4 PoDoFo::PdfElement::PdfElement ( EPdfDataType eExpectedDataType, PdfObject ∗ pObject )


[protected]

Create a PdfElement from an existing PdfObject The object might be of any data type, PdfElement will throw an
exception if the PdfObject if not of the same datatype as the expected one. This is necessary in rare cases. E.g. in
PdfContents.
Parameters
eExpected←- the expected datatype of this object
DataType
pObject pointer to the PdfObject that is modified by this PdfElement

10.26.3 Member Function Documentation

10.26.3.1 PdfObject ∗ PoDoFo::PdfElement::CreateObject ( const char ∗ pszType = NULL ) [protected]

Create a PdfObject in the parent of this PdfElement which might either be a PdfStreamedDocument, a PdfDocument
or a PdfVecObjects
Use this function in an own subclass of PdfElement to create new PdfObjects.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


122 Class Documentation

Parameters
pszType an optional /Type key of the created object

Returns

a PdfObject which is owned by the parent

10.26.3.2 PdfObject ∗ PoDoFo::PdfElement::GetNonConstObject ( ) const [inline], [protected]

Get access to the internal object. Use this method if you need access to the internal object in a const-method
without having to do a const cast.

Returns

the internal PdfObject

10.26.3.3 PdfObject ∗ PoDoFo::PdfElement::GetObject ( ) [inline]

Get access to the internal object

Returns

the internal PdfObject

10.26.3.4 const PdfObject ∗ PoDoFo::PdfElement::GetObject ( ) const [inline]

Get access to the internal object This is an overloaded member function.

Returns

the internal PdfObject

10.26.3.5 const char ∗ PoDoFo::PdfElement::TypeNameForIndex ( int i, const char ∗∗ ppTypes, long lLen ) const
[protected]

Convert an enum or index to its string representation which can be written to the PDF file.
This is a helper function for various PdfElement subclasses that need strings and enums for their SubTypes keys.
Parameters
i the index or enum value
ppTypes an array of strings containing the string mapping of the index
lLen the length of the string array

Returns

the string representation or NULL for values out of range

10.26.3.6 int PoDoFo::PdfElement::TypeNameToIndex ( const char ∗ pszType, const char ∗∗ ppTypes, long lLen, int
nUnknownValue ) const [protected]

Convert a string type to an array index or enum.


This is a helper function for various PdfElement subclasses that need strings and enums for their SubTypes keys.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.27 PoDoFo::PdfEncoding Class Reference 123

Parameters
pszType the type as string
ppTypes an array of strings containing the string mapping of the index
lLen the length of the string array
nUnknownValue the value that is returned when the type is unknown

Returns

the index of the string in the array

10.27 PoDoFo::PdfEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfDifferenceEncoding PoDoFo::PdfIdentityEncoding PoDoFo::PdfSimpleEncoding

PoDoFo::PdfDocEncoding PoDoFo::PdfMacRomanEncoding PoDoFo::PdfStandardEncoding PoDoFo::PdfSymbolEncoding PoDoFo::PdfWinAnsiEncoding PoDoFo::PdfZapfDingbatsEncoding

PoDoFo::PdfIso88592Encoding PoDoFo::PdfWin1250Encoding

Public Member Functions

• bool operator== (const PdfEncoding &rhs) const


• bool operator< (const PdfEncoding &rhs) const
• virtual void AddToDictionary (PdfDictionary &rDictionary) const =0
• virtual PdfString ConvertToUnicode (const PdfString &rEncodedString, const PdfFont ∗pFont) const
• virtual PdfRefCountedBuffer ConvertToEncoding (const PdfString &rString, const PdfFont ∗pFont) const
• int GetFirstChar () const
• int GetLastChar () const
• const_iterator begin () const
• const_iterator end () const
• virtual pdf_utf16be GetCharCode (int nIndex) const =0

Protected Member Functions

• PdfEncoding (int nFirstChar, int nLastChar, PdfObject ∗=NULL)


• virtual const PdfName & GetID () const =0

Protected Attributes

• bool m_bToUnicodeIsLoaded
If true, ToUnicode has been parse.

10.27.1 Detailed Description

A PdfEncoding is in PdfFont to transform a text string into a representation so that it can be displayed in a PDF file.
PdfEncoding can also be used to convert strings from a PDF file back into a PdfString.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


124 Class Documentation

10.27.2 Constructor & Destructor Documentation

10.27.2.1 PoDoFo::PdfEncoding::PdfEncoding ( int nFirstChar, int nLastChar, PdfObject ∗ pToUnicode = NULL )


[protected]

Create a new PdfEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.27 PoDoFo::PdfEncoding Class Reference 125

Parameters
nFirstChar the first supported character code (either a byte value in the current encoding or a unicode
value)
nLastChar the last supported character code, must be larger than nFirstChar (either a byte value in the
current encoding or a unicode value)

10.27.3 Member Function Documentation

10.27.3.1 virtual void PoDoFo::PdfEncoding::AddToDictionary ( PdfDictionary & rDictionary ) const [pure


virtual]

Add this encoding object to a dictionary usually be adding an /Encoding key in font dictionaries.
Parameters
rDictionary add the encoding to this dictionary

Implemented in PoDoFo::PdfWinAnsiEncoding, PoDoFo::PdfSimpleEncoding, PoDoFo::PdfDifferenceEncoding,


and PoDoFo::PdfIdentityEncoding.

10.27.3.2 PdfEncoding::const_iterator PoDoFo::PdfEncoding::begin ( ) const [inline]

Iterate over all unicode character points in this encoding, beginning with the first.

Returns

iterator pointing to the first defined unicode character

10.27.3.3 PdfRefCountedBuffer PoDoFo::PdfEncoding::ConvertToEncoding ( const PdfString & rString, const PdfFont


∗ pFont ) const [virtual]

Convert a unicode PdfString to a string encoded with this encoding.


Parameters
rString an unicode PdfString.
pFont the font for which this string is converted

Returns

an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes and is allowed to


have 0 bytes. The returned buffer must not be a unicode string.

Reimplemented in PoDoFo::PdfSimpleEncoding, PoDoFo::PdfDifferenceEncoding, and PoDoFo::PdfIdentity←-


Encoding.

10.27.3.4 PdfString PoDoFo::PdfEncoding::ConvertToUnicode ( const PdfString & rEncodedString, const PdfFont ∗


pFont ) const [virtual]

Convert a string that is encoded with this encoding to an unicode PdfString.


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


126 Class Documentation

rEncodedString a string encoded by this encoding. Usually this string was read from a content stream.
pFont the font for which this string is converted

Returns

an unicode PdfString.

Reimplemented in PoDoFo::PdfSimpleEncoding, PoDoFo::PdfDifferenceEncoding, and PoDoFo::PdfIdentity←-


Encoding.

10.27.3.5 PdfEncoding::const_iterator PoDoFo::PdfEncoding::end ( ) const [inline]

Iterate over all unicode character points in this encoding, beginning with the first.

Returns

iterator pointing at the end

10.27.3.6 virtual pdf_utf16be PoDoFo::PdfEncoding::GetCharCode ( int nIndex ) const [pure virtual]

Get the unicode character code for this encoding at the position nIndex. nIndex is a position between GetFirstChar()
and GetLastChar()
Parameters
nIndex character code at position index

Returns

unicode character code

See also

GetFirstChar
GetLastChar

Will throw an exception if nIndex is out of range.


Implemented in PoDoFo::PdfSimpleEncoding, PoDoFo::PdfDifferenceEncoding, and PoDoFo::PdfIdentityEncoding.

10.27.3.7 int PoDoFo::PdfEncoding::GetFirstChar ( ) const [inline]

Returns

the first character code that is defined for this encoding

10.27.3.8 virtual const PdfName& PoDoFo::PdfEncoding::GetID ( ) const [protected], [pure virtual]

Get a unique ID for this encoding which can used for comparisons!

Returns

a unique id for this encoding!

Implemented in PoDoFo::PdfSimpleEncoding, PoDoFo::PdfDifferenceEncoding, and PoDoFo::PdfIdentityEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.28 PoDoFo::PdfEncodingDifference Class Reference 127

10.27.3.9 int PoDoFo::PdfEncoding::GetLastChar ( ) const [inline]

Returns

the last character code that is defined for this encoding

10.27.3.10 bool PoDoFo::PdfEncoding::operator< ( const PdfEncoding & rhs ) const [inline]

Comparison operator.
Parameters
rhs the PdfEncoding to which this encoding should be compared

Returns

true if this encoding is less than the specified.

10.27.3.11 bool PoDoFo::PdfEncoding::operator== ( const PdfEncoding & rhs ) const [inline]

Comparison operator.
Parameters
rhs the PdfEncoding to which this encoding should be compared

Returns

true if both encodings are the same.

10.28 PoDoFo::PdfEncodingDifference Class Reference

#include <PdfDifferenceEncoding.h>

Public Member Functions

• PdfEncodingDifference ()
• PdfEncodingDifference (const PdfEncodingDifference &rhs)
• const PdfEncodingDifference & operator= (const PdfEncodingDifference &rhs)
• void AddDifference (int nCode, pdf_utf16be unicodeValue)
• void AddDifference (int nCode, pdf_utf16be unicodeValue, const PdfName &rName, bool bExplicit←-
Names=false)
• bool Contains (int nCode, PdfName &rName, pdf_utf16be &rValue) const
• void ToArray (PdfArray &rArray)
• size_t GetCount () const

10.28.1 Detailed Description

A helper class for PdfDifferenceEncoding that can be used to create a differences array.

10.28.2 Constructor & Destructor Documentation

10.28.2.1 PoDoFo::PdfEncodingDifference::PdfEncodingDifference ( )

Create a PdfEncodingDifference object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


128 Class Documentation

10.28.2.2 PoDoFo::PdfEncodingDifference::PdfEncodingDifference ( const PdfEncodingDifference & rhs )

Copy a PdfEncodingDifference object.

10.28.3 Member Function Documentation

10.28.3.1 void PoDoFo::PdfEncodingDifference::AddDifference ( int nCode, pdf_utf16be unicodeValue )

Add a difference to the object.


Parameters
nCode unicode code point of the difference (0 to 255 are legal values)
unicodeValue actual unicode value for nCode; can be 0

See also

AddDifference if you know the name of the code point use the overload below which is faster

10.28.3.2 void PoDoFo::PdfEncodingDifference::AddDifference ( int nCode, pdf_utf16be unicodeValue, const PdfName &
rName, bool bExplicitNames = false )

Add a difference to the object.


Parameters
nCode unicode code point of the difference (0 to 255 are legal values)
unicodeValue actual unicode value for nCode; can be 0
rName name of the different code point or .notdef if none
bExplicitKeys if true, the unicode value is set to nCode as rName is meaningless (Type3 fonts)

10.28.3.3 bool PoDoFo::PdfEncodingDifference::Contains ( int nCode, PdfName & rName, pdf_utf16be & rValue ) const

Tests if the specified code is part of the differences.


Parameters
nCode test if the given code is part of the differences
rName write the associated name into this object if the code is part of the difference
rValue write the associated unicode value of the name to this value

Returns

true if the code is part of the difference

10.28.3.4 size_t PoDoFo::PdfEncodingDifference::GetCount ( ) const [inline]

Get the number of differences in this object. If the user added .notdef as a difference it is counted, even it is no real
difference in the final encoding.

Returns

the number of differences in this object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.29 PoDoFo::PdfEncodingFactory Class Reference 129

10.28.3.5 const PdfEncodingDifference & PoDoFo::PdfEncodingDifference::operator= ( const PdfEncodingDifference


& rhs )

Copy a PdfEncodingDifference object.

10.28.3.6 void PoDoFo::PdfEncodingDifference::ToArray ( PdfArray & rArray )

Convert the PdfEncodingDifference to an array


Parameters
rArray write to this array

10.29 PoDoFo::PdfEncodingFactory Class Reference

#include <PdfEncodingFactory.h>

Static Public Member Functions

• static const PdfEncoding ∗ GlobalPdfDocEncodingInstance ()


• static const PdfEncoding ∗ GlobalWinAnsiEncodingInstance ()
• static const PdfEncoding ∗ GlobalMacRomanEncodingInstance ()
• static const PdfEncoding ∗ GlobalStandardEncodingInstance ()
• static const PdfEncoding ∗ GlobalMacExpertEncodingInstance ()
• static const PdfEncoding ∗ GlobalSymbolEncodingInstance ()
• static const PdfEncoding ∗ GlobalZapfDingbatsEncodingInstance ()
• static const PdfEncoding ∗ GlobalIdentityEncodingInstance ()
• static const PdfEncoding ∗ GlobalWin1250EncodingInstance ()
• static const PdfEncoding ∗ GlobalIso88592EncodingInstance ()
• static void FreeGlobalEncodingInstances ()

10.29.1 Detailed Description

This factory creates a PdfEncoding from an existing object in the PDF.

10.29.2 Member Function Documentation

10.29.2.1 void PoDoFo::PdfEncodingFactory::FreeGlobalEncodingInstances ( ) [static]

Free's the memory allocated by the global encoding instancess in this singleton.
PoDoFo will reallocated these encodings as soon as they are needed again.
Only call this method if no other class of PoDoFo exists anymore, as PdfString etc contain pointers to the global
instances.

10.29.2.2 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalIdentityEncodingInstance ( ) [static]

Singleton method which returns a global instance of IndentityEncoding useful for writing direct UTF8 strings.

Returns

global instance of IdentityEncoding

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


130 Class Documentation

10.29.2.3 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalIso88592EncodingInstance ( ) [static]

Singleton method which returns a global instance of Iso88592Encoding.

Returns

global instance of Iso88592Encoding

See also

GlobalWinAnsiEncodingInstance, GlobalWin1250EncodingInstance

10.29.2.4 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalMacExpertEncodingInstance ( ) [static]

Singleton method which returns a global instance of MacExpertEncoding.

Returns

global instance of MacExpertEncoding

10.29.2.5 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalMacRomanEncodingInstance ( ) [static]

Singleton method which returns a global instance of MacRomanEncoding.

Returns

global instance of MacRomanEncoding

10.29.2.6 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalPdfDocEncodingInstance ( ) [static]

Singleton method which returns a global instance of PdfDocEncoding.

Returns

global instance of PdfDocEncoding

10.29.2.7 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalStandardEncodingInstance ( ) [static]

Singleton method which returns a global instance of StandardEncoding.

Returns

global instance of StandardEncoding

10.29.2.8 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalSymbolEncodingInstance ( ) [static]

Singleton method which returns a global instance of SymbolEncoding.

Returns

global instance of SymbolEncoding

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.30 PoDoFo::PdfEncodingObjectFactory Class Reference 131

10.29.2.9 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalWin1250EncodingInstance ( ) [static]

Singleton method which returns a global instance of Win1250Encoding.

Returns

global instance of Win1250Encoding

See also

GlobalWinAnsiEncodingInstance, GlobalIso88592EncodingInstance

10.29.2.10 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalWinAnsiEncodingInstance ( ) [static]

Singleton method which returns a global instance of WinAnsiEncoding.

Returns

global instance of WinAnsiEncoding

See also

GlobalWin1250EncodingInstance, GlobalIso88592EncodingInstance

10.29.2.11 const PdfEncoding ∗ PoDoFo::PdfEncodingFactory::GlobalZapfDingbatsEncodingInstance ( ) [static]

Singleton method which returns a global instance of ZapfDingbatsEncoding.

Returns

global instance of ZapfDingbatsEncoding

10.30 PoDoFo::PdfEncodingObjectFactory Class Reference

#include <PdfEncodingObjectFactory.h>

Static Public Member Functions

• static const PdfEncoding ∗ CreateEncoding (PdfObject ∗pObject, PdfObject ∗pToUnicode=NULL, bool b←-
ExplicitNames=false)

10.30.1 Detailed Description

This factory creates a PdfEncoding from an existing object in the PDF.

10.30.2 Member Function Documentation

10.30.2.1 const PdfEncoding ∗ PoDoFo::PdfEncodingObjectFactory::CreateEncoding ( PdfObject ∗ pObject, PdfObject


∗ pToUnicode = NULL, bool bExplicitNames = false ) [static]

Create a new PdfEncoding from either an encoding name or an encoding dictionary.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


132 Class Documentation

Parameters
pObject must be a name or an encoding dictionary
pToUnicode the optional ToUnicode dictionary
bExplicitNames if true, glyph names are meaningless explicit keys on the font (used for Type3 fonts)

Returns

a PdfEncoding or NULL

10.31 PoDoFo::PdfEncrypt Class Reference

#include <PdfEncrypt.h>
Inherited by PoDoFo::PdfEncryptMD5Base.

Public Types

• enum EPdfKeyLength
• enum EPdfPermissions {
ePdfPermissions_Print = 0x00000004, ePdfPermissions_Edit = 0x00000008, ePdfPermissions_Copy =
0x00000010, ePdfPermissions_EditNotes = 0x00000020,
ePdfPermissions_FillAndSign = 0x00000100, ePdfPermissions_Accessible = 0x00000200, ePdf←-
Permissions_DocAssembly = 0x00000400, ePdfPermissions_HighPrint = 0x00000800 }
• enum EPdfEncryptAlgorithm { ePdfEncryptAlgorithm_RC4V1 = 1, ePdfEncryptAlgorithm_RC4V2 = 2, ePdf←-
EncryptAlgorithm_AESV2 = 4 }

Public Member Functions

• virtual ∼PdfEncrypt ()=0


• virtual void GenerateEncryptionKey (const PdfString &documentId)=0
• virtual void CreateEncryptionDictionary (PdfDictionary &rDictionary) const =0
• virtual PdfOutputStream ∗ CreateEncryptionOutputStream (PdfOutputStream ∗pOutputStream)=0
• virtual PdfInputStream ∗ CreateEncryptionInputStream (PdfInputStream ∗pInputStream)=0
• virtual bool Authenticate (const std::string &password, const PdfString &documentId)=0
• EPdfEncryptAlgorithm GetEncryptAlgorithm () const
• bool IsPrintAllowed () const
• bool IsEditAllowed () const
• bool IsCopyAllowed () const
• bool IsEditNotesAllowed () const
• bool IsFillAndSignAllowed () const
• bool IsAccessibilityAllowed () const
• bool IsDocAssemblyAllowed () const
• bool IsHighPrintAllowed () const
• const unsigned char ∗ GetUValue () const
Get the U object value (user)
• const unsigned char ∗ GetOValue () const
Get the O object value (owner)
• const unsigned char ∗ GetEncryptionKey () const
Get the encryption key value (owner)
• pdf_int32 GetPValue () const
Get the P object value (protection)
• int GetRevision () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.31 PoDoFo::PdfEncrypt Class Reference 133

Get the revision number of the encryption method.


• int GetKeyLength () const
Get the key length of the encryption key in bits.
• bool IsMetadataEncrypted () const
Is metadata encrypted.
• virtual void Encrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long outLen)
const =0
Encrypt a wxString.
• virtual void Decrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long &outLen)
const =0
Decrypt a character string.
• virtual pdf_long CalculateStreamLength (pdf_long length) const =0
Calculate stream size.
• virtual pdf_long CalculateStreamOffset () const =0
Calculate stream offset.
• void SetCurrentReference (const PdfReference &rRef)

Static Public Member Functions

• static PdfEncrypt ∗ CreatePdfEncrypt (const std::string &userPassword, const std::string &ownerPassword,


int protection=ePdfPermissions_Print|ePdfPermissions_Edit|ePdfPermissions_Copy|ePdfPermissions_←-
EditNotes|ePdfPermissions_FillAndSign|ePdfPermissions_Accessible|ePdfPermissions_DocAssembly|e←-
PdfPermissions_HighPrint, EPdfEncryptAlgorithm eAlgorithm=ePdfEncryptAlgorithm_RC4V1, EPdfKey←-
Length eKeyLength=ePdfKeyLength_40)
• static PdfEncrypt ∗ CreatePdfEncrypt (const PdfObject ∗pObject)
• static PdfEncrypt ∗ CreatePdfEncrypt (const PdfEncrypt &rhs)
• static int GetEnabledEncryptionAlgorithms ()
• static void SetEnabledEncryptionAlgorithms (int nEncryptionAlgorithms)
• static bool IsEncryptionEnabled (EPdfEncryptAlgorithm eAlgorithm)

Protected Member Functions

• bool CheckKey (unsigned char key1[32], unsigned char key2[32])


Check two keys for equality.

Protected Attributes

• EPdfEncryptAlgorithm m_eAlgorithm
The used encryption algorithm.
• int m_keyLength
Length of encryption key.
• int m_rValue
Revision.
• pdf_int32 m_pValue
P entry in pdf document.
• EPdfKeyLength m_eKeyLength
The key length.
• std::string m_userPass
User password.
• std::string m_ownerPass
Owner password.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


134 Class Documentation

• unsigned char m_uValue [48]


U entry in pdf document.
• unsigned char m_oValue [48]
O entry in pdf document.
• unsigned char m_encryptionKey [32]
Encryption key.
• PdfReference m_curReference
Reference of the current PdfObject.
• std::string m_documentId
DocumentID of the current document.
• bool m_bEncryptMetadata
Is metadata encrypted.

10.31.1 Detailed Description

Class representing PDF encryption methods. (For internal use only) Based on code from Ulrich Telle: http←-
://wxcode.sourceforge.net/components/wxpdfdoc/ Original Copyright header:A class that is
used to encrypt a PDF file and set document permisions on the PDF file.
As a user of this class, you have only to instanciate a object of this class and pass it to PdfWriter, PdfMemDocument,
PdfStreamedDocument or PdfImmediateWriter. You do not have to call any other method of this class. The above
classes know how to handle encryption using Pdfencrypt.

10.31.2 Member Enumeration Documentation

10.31.2.1 enum PoDoFo::PdfEncrypt::EPdfEncryptAlgorithm

The encryption algorithm.

Enumerator

ePdfEncryptAlgorithm_RC4V1 RC4 Version 1 encryption using a 40bit key.


ePdfEncryptAlgorithm_RC4V2 RC4 Version 2 encryption using a key with 40-128bit.
ePdfEncryptAlgorithm_AESV2 AES encryption with a 128 bit key (PDF1.6)

10.31.2.2 enum PoDoFo::PdfEncrypt::EPdfKeyLength

A enum specifying a valid keylength for a PDF encryption key. Keys must be in the range 40 to 128 bit and have to
be a multiple of 8.
Adobe Reader supports only keys with 40, 128 or 256 bits!

10.31.2.3 enum PoDoFo::PdfEncrypt::EPdfPermissions

Set user permissions/restrictions on a document

Enumerator

ePdfPermissions_Print Allow printing the document.


ePdfPermissions_Edit Allow modifying the document besides annotations, form fields or chaning pages.
ePdfPermissions_Copy Allow text and graphic extraction.
ePdfPermissions_EditNotes Add or modify text annoations or form fields (if ePdfPermissions_Edit is set also
allow to create interactive form fields including signature)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.31 PoDoFo::PdfEncrypt Class Reference 135

ePdfPermissions_FillAndSign Fill in existing form or signature fields.


ePdfPermissions_Accessible Extract text and graphics to support user with disabillities.
ePdfPermissions_DocAssembly Assemble the document: insert, create, rotate delete pages or add book-
marks.
ePdfPermissions_HighPrint Print a high resolution version of the document.

10.31.3 Constructor & Destructor Documentation

10.31.3.1 PoDoFo::PdfEncrypt::∼PdfEncrypt ( ) [pure virtual]

Destruct the PdfEncrypt object

10.31.4 Member Function Documentation

10.31.4.1 virtual bool PoDoFo::PdfEncrypt::Authenticate ( const std::string & password, const PdfString & documentId )
[pure virtual]

Tries to authenticate a user using either the user or owner password


Parameters
password owner or user password
documentId the documentId of the PDF file

Returns

true if either the owner or user password matches password

Implemented in PoDoFo::PdfEncryptRC4, and PoDoFo::PdfEncryptAESV2.

10.31.4.2 virtual void PoDoFo::PdfEncrypt::CreateEncryptionDictionary ( PdfDictionary & rDictionary ) const [pure


virtual]

Fill all keys into a encryption dictionary. This dictionary is usually added to the PDF files trailer under the /Encryption
key.
Parameters
rDictionary an empty dictionary which is filled with information about the used encryption algorithm

10.31.4.3 virtual PdfInputStream∗ PoDoFo::PdfEncrypt::CreateEncryptionInputStream ( PdfInputStream ∗ pInputStream


) [pure virtual]

Create a PdfInputStream that decrypts all data read from it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!
Parameters
pInputStream the created PdfInputStream reads all decrypted data to this input stream.

Returns

a PdfInputStream that decrypts all data.

Implemented in PoDoFo::PdfEncryptRC4, and PoDoFo::PdfEncryptAESV2.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


136 Class Documentation

10.31.4.4 virtual PdfOutputStream∗ PoDoFo::PdfEncrypt::CreateEncryptionOutputStream ( PdfOutputStream ∗


pOutputStream ) [pure virtual]

Create a PdfOutputStream that encrypts all data written to it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!
Parameters
pOutputStream the created PdfOutputStream writes all encrypted data to this output stream.

Returns

a PdfOutputStream that encryts all data.

Implemented in PoDoFo::PdfEncryptRC4, and PoDoFo::PdfEncryptAESV2.

10.31.4.5 PdfEncrypt ∗ PoDoFo::PdfEncrypt::CreatePdfEncrypt ( const std::string & userPassword, const std::string


& ownerPassword, int protection = ePdfPermissions_Print | ePdfPermissions_Edit | ePdf←-
Permissions_Copy | ePdfPermissions_EditNotes | ePdfPermissions_FillAndSign | ePdf←-
Permissions_Accessible | ePdfPermissions_DocAssembly | ePdfPermissions_HighPrint,
EPdfEncryptAlgorithm eAlgorithm = ePdfEncryptAlgorithm_RC4V1, EPdfKeyLength eKeyLength =
ePdfKeyLength_40 ) [static]

Create a PdfEncrypt object which can be used to encrypt a PDF file.


Parameters
userPassword the user password (if empty the user does not have to enter a password to open the docu-
ment)
ownerPassword the owner password
protection several EPdfPermissions values or'ed together to set the users permissions for this document
eAlgorithm the revision of the encryption algorithm to be used
eKeyLength the length of the encryption key ranging from 40 to 128 bits (only used if eAlgorithm == e←-
PdfEncryptAlgorithm_RC4V2)

See also

GenerateEncryptionKey with the documentID to generate the real encryption key using this information

10.31.4.6 PdfEncrypt ∗ PoDoFo::PdfEncrypt::CreatePdfEncrypt ( const PdfObject ∗ pObject ) [static]

Initialize a PdfEncrypt object from an encryption dictionary in a PDF file.


This is required for encrypting a PDF file, but handled internally in PdfParser for you.
Will use only encrypting algorithms that are enabled.
Parameters
pObject a PDF encryption dictionary

See also

GetEnabledEncryptionAlgorithms

10.31.4.7 PdfEncrypt ∗ PoDoFo::PdfEncrypt::CreatePdfEncrypt ( const PdfEncrypt & rhs ) [static]

Copy constructor

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.31 PoDoFo::PdfEncrypt Class Reference 137

Parameters
rhs another PdfEncrypt object which is copied

10.31.4.8 virtual void PoDoFo::PdfEncrypt::Encrypt ( const unsigned char ∗ inStr, pdf_long inLen, unsigned char ∗ outStr,
pdf_long outLen ) const [pure virtual]

Encrypt a wxString.
Encrypt a character string
Implemented in PoDoFo::PdfEncryptRC4, and PoDoFo::PdfEncryptAESV2.

10.31.4.9 virtual void PoDoFo::PdfEncrypt::GenerateEncryptionKey ( const PdfString & documentId ) [pure


virtual]

Generate encryption key from user and owner passwords and protection key
Parameters
documentId the documentId of the current document

Implemented in PoDoFo::PdfEncryptRC4, and PoDoFo::PdfEncryptAESV2.

10.31.4.10 int PoDoFo::PdfEncrypt::GetEnabledEncryptionAlgorithms ( ) [static]

Retrieve the list of encryption algorithms that are used when loading a PDF document.
By default all alogrithms are enabled.

See also

IsEncryptionEnabled
SetEnabledEncryptionAlgorithms

Returns

an or'ed together list of all enabled encryption algorithms

10.31.4.11 PdfEncrypt::EPdfEncryptAlgorithm PoDoFo::PdfEncrypt::GetEncryptAlgorithm ( ) const [inline]

Get the encryption algorithm of this object.

Returns

the EPdfEncryptAlgorithm of this object

10.31.4.12 bool PoDoFo::PdfEncrypt::IsAccessibilityAllowed ( ) const [inline]

Checks if it is allowed to extract text and graphics to support users with disabillities Every PDF consuming applica-
tions has to adhere this value!

Returns

true if you are allowed to extract text and graphics to support users with disabillities

See also

PdfEncrypt to set own document permissions.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


138 Class Documentation

10.31.4.13 bool PoDoFo::PdfEncrypt::IsCopyAllowed ( ) const [inline]

Checks if text and graphics extraction is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to extract text and graphics from this document

See also

PdfEncrypt to set own document permissions.

10.31.4.14 bool PoDoFo::PdfEncrypt::IsDocAssemblyAllowed ( ) const [inline]

Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications
has to adhere this value!

Returns

true if you are allowed to insert, create, rotate, delete pages or add bookmarks

See also

PdfEncrypt to set own document permissions.

10.31.4.15 bool PoDoFo::PdfEncrypt::IsEditAllowed ( ) const [inline]

Checks if modifiying this document (besides annotations, form fields or changing pages) is allowed. Every PDF
consuming applications has to adhere this value!

Returns

true if you are allowed to modfiy this document

See also

PdfEncrypt to set own document permissions.

10.31.4.16 bool PoDoFo::PdfEncrypt::IsEditNotesAllowed ( ) const [inline]

Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere
this value!

Returns

true if you are allowed to add or modify annotations or form fields

See also

PdfEncrypt to set own document permissions.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.31 PoDoFo::PdfEncrypt Class Reference 139

10.31.4.17 bool PoDoFo::PdfEncrypt::IsEncryptionEnabled ( EPdfEncryptAlgorithm eAlgorithm ) [static]

Test if a certain encryption algorithm is enabled for loading PDF documents.

Returns

ture if the encryption algorithm is enabled

See also

GetEnabledEncryptionAlgorithms
SetEnabledEncryptionAlgorithms

10.31.4.18 bool PoDoFo::PdfEncrypt::IsFillAndSignAllowed ( ) const [inline]

Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this
value!

Returns

true if you are allowed to fill in existing form or signature fields

See also

PdfEncrypt to set own document permissions.

10.31.4.19 bool PoDoFo::PdfEncrypt::IsHighPrintAllowed ( ) const [inline]

Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to
adhere this value!

Returns

true if you are allowed to print a high quality version of this document

See also

PdfEncrypt to set own document permissions.

10.31.4.20 bool PoDoFo::PdfEncrypt::IsPrintAllowed ( ) const [inline]

Checks if printing this document is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to print this document

See also

PdfEncrypt to set own document permissions.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


140 Class Documentation

10.31.4.21 void PoDoFo::PdfEncrypt::SetCurrentReference ( const PdfReference & rRef ) [inline]

Set the reference of the object that is currently encrypted.


This value will be used in following calls of Encrypt to encrypt the object.

See also

Encrypt

10.31.4.22 void PoDoFo::PdfEncrypt::SetEnabledEncryptionAlgorithms ( int nEncryptionAlgorithms ) [static]

Specify the list of encryption algorithms that should be used by PoDoFo when loading a PDF document.
This can be used to disable for example AES encryption/decryption which is unstable in certain cases.

See also

GetEnabledEncryptionAlgorithms
IsEncryptionEnabled

10.32 PoDoFo::PdfEncryptAESBase Class Reference

#include <PdfEncrypt.h>
Inheritance diagram for PoDoFo::PdfEncryptAESBase:

PoDoFo::PdfEncryptAESBase

PoDoFo::PdfEncryptAESV2

Protected Attributes

• AESCryptoEngine ∗ m_aes
AES encryptor.

10.32.1 Detailed Description

A pure virtual class that is used to encrypt a PDF file (AES-128/256) This class is the base for classes that implement
algorithms based on AES
Client code is working only with PdfEncrypt class and knows nothing about PdfEncrypt∗, it is created through
CreatePdfEncrypt factory method

10.33 PoDoFo::PdfEncryptAESV2 Class Reference

#include <PdfEncrypt.h>
Inheritance diagram for PoDoFo::PdfEncryptAESV2:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.33 PoDoFo::PdfEncryptAESV2 Class Reference 141

PoDoFo::PdfEncryptAESBase

PoDoFo::PdfEncryptAESV2

Public Member Functions

• virtual PdfInputStream ∗ CreateEncryptionInputStream (PdfInputStream ∗pInputStream)


• virtual PdfOutputStream ∗ CreateEncryptionOutputStream (PdfOutputStream ∗pOutputStream)
• virtual bool Authenticate (const std::string &password, const PdfString &documentId)
• virtual void Encrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long outLen)
const
Encrypt a character string.
• virtual void Decrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long &outLen)
const
Decrypt a character string.
• virtual void GenerateEncryptionKey (const PdfString &documentId)
• virtual pdf_long CalculateStreamOffset () const
Calculate stream offset.
• virtual pdf_long CalculateStreamLength (pdf_long length) const
Calculate stream size.

Additional Inherited Members

10.33.1 Detailed Description

A class that is used to encrypt a PDF file (AES-128)


Client code is working only with PdfEncrypt class and knows nothing about PdfEncryptAES∗, it is created through
CreatePdfEncrypt factory method

10.33.2 Member Function Documentation

10.33.2.1 virtual bool PoDoFo::PdfEncryptAESV2::Authenticate ( const std::string & password, const PdfString &
documentId ) [virtual]

Tries to authenticate a user using either the user or owner password


Parameters
password owner or user password
documentId the documentId of the PDF file

Returns

true if either the owner or user password matches password

Implements PoDoFo::PdfEncrypt.

10.33.2.2 virtual PdfInputStream∗ PoDoFo::PdfEncryptAESV2::CreateEncryptionInputStream ( PdfInputStream ∗


pInputStream ) [virtual]

Create a PdfInputStream that decrypts all data read from it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


142 Class Documentation

Parameters
pInputStream the created PdfInputStream reads all decrypted data to this input stream.

Returns

a PdfInputStream that decrypts all data.

Implements PoDoFo::PdfEncrypt.

10.33.2.3 virtual PdfOutputStream∗ PoDoFo::PdfEncryptAESV2::CreateEncryptionOutputStream ( PdfOutputStream ∗


pOutputStream ) [virtual]

Create a PdfOutputStream that encrypts all data written to it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!
Parameters
pOutputStream the created PdfOutputStream writes all encrypted data to this output stream.

Returns

a PdfOutputStream that encryts all data.

Implements PoDoFo::PdfEncrypt.

10.33.2.4 virtual void PoDoFo::PdfEncryptAESV2::GenerateEncryptionKey ( const PdfString & documentId )


[virtual]

Generate encryption key from user and owner passwords and protection key
Parameters
documentId the documentId of the current document

Implements PoDoFo::PdfEncrypt.

10.34 PoDoFo::PdfEncryptRC4 Class Reference

#include <PdfEncrypt.h>
Inherits PoDoFo::PdfEncryptMD5Base.

Public Member Functions

• virtual bool Authenticate (const std::string &password, const PdfString &documentId)


• virtual void Encrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long outLen)
const
Encrypt a character string.
• virtual void Decrypt (const unsigned char ∗inStr, pdf_long inLen, unsigned char ∗outStr, pdf_long &outLen)
const
Decrypt a character string.
• virtual PdfInputStream ∗ CreateEncryptionInputStream (PdfInputStream ∗pInputStream)
• virtual PdfOutputStream ∗ CreateEncryptionOutputStream (PdfOutputStream ∗pOutputStream)
• virtual void GenerateEncryptionKey (const PdfString &documentId)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.34 PoDoFo::PdfEncryptRC4 Class Reference 143

• virtual pdf_long CalculateStreamOffset () const


Calculate stream offset.
• virtual pdf_long CalculateStreamLength (pdf_long length) const
Calculate stream size.

10.34.1 Detailed Description

A class that is used to encrypt a PDF file (RC4 40-bit and 128-bit)
Client code is working only with PdfEncrypt class and knows nothing about PdfEncryptRC4, it is created through
CreatePdfEncrypt factory method

10.34.2 Member Function Documentation

10.34.2.1 virtual bool PoDoFo::PdfEncryptRC4::Authenticate ( const std::string & password, const PdfString & documentId )
[virtual]

Tries to authenticate a user using either the user or owner password


Parameters
password owner or user password
documentId the documentId of the PDF file

Returns

true if either the owner or user password matches password

Implements PoDoFo::PdfEncrypt.

10.34.2.2 virtual PdfInputStream∗ PoDoFo::PdfEncryptRC4::CreateEncryptionInputStream ( PdfInputStream ∗


pInputStream ) [virtual]

Create a PdfInputStream that decrypts all data read from it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!
Parameters
pInputStream the created PdfInputStream reads all decrypted data to this input stream.

Returns

a PdfInputStream that decrypts all data.

Implements PoDoFo::PdfEncrypt.

10.34.2.3 virtual PdfOutputStream∗ PoDoFo::PdfEncryptRC4::CreateEncryptionOutputStream ( PdfOutputStream ∗


pOutputStream ) [virtual]

Create a PdfOutputStream that encrypts all data written to it using the current settings of the PdfEncrypt object.
Warning: Currently only RC4 based encryption is supported using output streams!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


144 Class Documentation

Parameters
pOutputStream the created PdfOutputStream writes all encrypted data to this output stream.

Returns

a PdfOutputStream that encryts all data.

Implements PoDoFo::PdfEncrypt.

10.34.2.4 virtual void PoDoFo::PdfEncryptRC4::GenerateEncryptionKey ( const PdfString & documentId ) [virtual]

Generate encryption key from user and owner passwords and protection key
Parameters
documentId the documentId of the current document

Implements PoDoFo::PdfEncrypt.

10.35 PoDoFo::PdfEncryptRC4Base Class Reference

#include <PdfEncrypt.h>
Inherited by PoDoFo::PdfEncryptMD5Base.

Protected Member Functions

• void RC4 (const unsigned char ∗key, int keylen, const unsigned char ∗textin, pdf_long textlen, unsigned char
∗textout, pdf_long textoutlen)
AES encryption.

Protected Attributes

• RC4CryptoEngine ∗ m_rc4
AES encryptor.

10.35.1 Detailed Description

A pure virtual class that is used to encrypt a PDF file (RC4-40..128) This class is the base for classes that implement
algorithms based on RC4
Client code is working only with PdfEncrypt class and knows nothing about PdfEncrypt∗, it is created through
CreatePdfEncrypt factory method

10.36 PoDoFo::PdfError Class Reference

#include <PdfError.h>

Public Member Functions

• PdfError ()
• PdfError (const EPdfError &eCode, const char ∗pszFile=NULL, int line=0, const char ∗pszInformation=NULL)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.36 PoDoFo::PdfError Class Reference 145

• PdfError (const PdfError &rhs)


• const PdfError & operator= (const PdfError &rhs)
• const PdfError & operator= (const EPdfError &eCode)
• bool operator== (const PdfError &rhs)
• bool operator== (const EPdfError &eCode)
• bool operator!= (const PdfError &rhs)
• bool operator!= (const EPdfError &eCode)
• EPdfError GetError () const
• const TDequeErrorInfo & GetCallstack () const
• void SetError (const EPdfError &eCode, const char ∗pszFile=NULL, int line=0, const char ∗psz←-
Information=NULL)
• void SetErrorInformation (const char ∗pszInformation)
• void SetErrorInformation (const wchar_t ∗pszInformation)
• void AddToCallstack (const char ∗pszFile=NULL, int line=0, const char ∗pszInformation=NULL)
• bool IsError () const
• void PrintErrorMsg () const
• const char ∗ what () const

Static Public Member Functions

• static LogMessageCallback ∗ SetLogMessageCallback (LogMessageCallback ∗fLogMessageCallback)


• static PODOFO_NOTHROW const char ∗ ErrorName (EPdfError eCode)
• static const char ∗ ErrorMessage (EPdfError eCode)
• static void LogMessage (ELogSeverity eLogSeverity, const char ∗pszMsg,...)
• static void LogMessage (ELogSeverity eLogSeverity, const wchar_t ∗pszMsg,...)
• static void EnableLogging (bool bEnable)
• static bool LoggingEnabled ()
• static void DebugMessage (const char ∗pszMsg,...)
• static void EnableDebug (bool bEnable)
• static bool DebugEnabled ()

10.36.1 Detailed Description

The error handling class of PoDoFo lib. Whenever a function encounters an error a PdfError object is returned.
A PdfError with Error() == ErrOk means successfull execution.
This class provides also meaningfull error descriptions.

10.36.2 Constructor & Destructor Documentation

10.36.2.1 PoDoFo::PdfError::PdfError ( )

Create a PdfError object initialized to ErrOk

10.36.2.2 PoDoFo::PdfError::PdfError ( const EPdfError & eCode, const char ∗ pszFile = NULL, int line = 0, const char ∗
pszInformation = NULL )

Create a PdfError object with a given error code.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


146 Class Documentation

Parameters
eCode the error code of this object
pszFile the file in which the error has occured. Use the compiler macro FILE to initialize the field.
line the line in which the error has occured. Use the compiler macro LINE to initialize the field.
pszInformation additional information on this error which mayy be formatted like printf

10.36.2.3 PoDoFo::PdfError::PdfError ( const PdfError & rhs )

Copy constructor
Parameters
rhs copy the contents of rhs into this object

10.36.3 Member Function Documentation

10.36.3.1 void PoDoFo::PdfError::AddToCallstack ( const char ∗ pszFile = NULL, int line = 0, const char ∗ pszInformation =
NULL ) [inline]

Add callstack information to an error object. Always call this function if you get an error object but do not handle the
error but throw it again.
Parameters
pszFile the filename of the source file causing the error or NULL. Typically you will use the gcc macro
FILE here.
line the line of source causing the error or 0. Typically you will use the gcc macro LINE here.
pszInformation additional information on the error. e.g. how to fix the error. This string is intended to be
shown to the user.

10.36.3.2 static bool PoDoFo::PdfError::DebugEnabled ( ) [inline], [static]

Is the display of debugging messages enabled or not?

10.36.3.3 void PoDoFo::PdfError::DebugMessage ( const char ∗ pszMsg, ... ) [static]

Log a message to the logging system defined for PoDoFo for debugging
Parameters
pszMsg the message to be logged

10.36.3.4 static void PoDoFo::PdfError::EnableDebug ( bool bEnable ) [inline], [static]

Enable or disable the display of debugging messages


Parameters
bEnable enable (true) or disable (false)

10.36.3.5 static void PoDoFo::PdfError::EnableLogging ( bool bEnable ) [inline], [static]

Enable or disable Logging

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.36 PoDoFo::PdfError Class Reference 147

Parameters
bEnable enable (true) or disable (false)

10.36.3.6 const char ∗ PoDoFo::PdfError::ErrorMessage ( EPdfError eCode ) [static]

Get the error message for a certain error code.

Returns

the error message or NULL if no error message for the specified error code is available.

10.36.3.7 const char ∗ PoDoFo::PdfError::ErrorName ( EPdfError eCode ) [static]

Get the name for a certain error code.

Returns

the name or NULL if no name for the specified error code is available.

< The encryption dictionary is invalid or misses a required key


< The password used to open the PDF file was invalid
< This font format is not supported by PoDoFO.
< This image format is not supported by PoDoFO.
< This color format cannot be converted.

10.36.3.8 const TDequeErrorInfo & PoDoFo::PdfError::GetCallstack ( ) const [inline]

Get access to the internal callstack of this error

Returns

the callstack

10.36.3.9 EPdfError PoDoFo::PdfError::GetError ( ) const [inline]

Return the error code of this object

Returns

the error code of this object

10.36.3.10 bool PoDoFo::PdfError::IsError ( ) const [inline]

Returns

true if an error code was set and false if the error code is ePdfError_ErrOk

10.36.3.11 static bool PoDoFo::PdfError::LoggingEnabled ( ) [inline], [static]

Is the display of debugging messages enabled or not?

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


148 Class Documentation

10.36.3.12 void PoDoFo::PdfError::LogMessage ( ELogSeverity eLogSeverity, const char ∗ pszMsg, ... ) [static]

Log a message to the logging system defined for PoDoFo.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.36 PoDoFo::PdfError Class Reference 149

Parameters
eLogSeverity the severity of the log message
pszMsg the message to be logged

10.36.3.13 void PoDoFo::PdfError::LogMessage ( ELogSeverity eLogSeverity, const wchar_t ∗ pszMsg, ... ) [static]

Log a message to the logging system defined for PoDoFo.


Parameters
eLogSeverity the severity of the log message
pszMsg the message to be logged

10.36.3.14 bool PoDoFo::PdfError::operator!= ( const PdfError & rhs )

Comparison operator compares 2 PdfError objects


Parameters
rhs another PdfError object

Returns

true if both objects have the different error code.

10.36.3.15 bool PoDoFo::PdfError::operator!= ( const EPdfError & eCode )

Overloaded comparison operator compares 2 PdfError objects


Parameters
eCode an erroce code

Returns

true if this object has different error code.

10.36.3.16 const PdfError & PoDoFo::PdfError::operator= ( const PdfError & rhs )

Assignment operator
Parameters
rhs another PdfError object

Returns

this object

10.36.3.17 const PdfError & PoDoFo::PdfError::operator= ( const EPdfError & eCode )

Overloaded assignment operator

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


150 Class Documentation

Parameters
eCode a EPdfError code

Returns

this object

10.36.3.18 bool PoDoFo::PdfError::operator== ( const PdfError & rhs )

Comparison operator compares 2 PdfError objects


Parameters
rhs another PdfError object

Returns

true if both objects have the same error code.

10.36.3.19 bool PoDoFo::PdfError::operator== ( const EPdfError & eCode )

Overloaded comparison operator compares 2 PdfError objects


Parameters
eCode an erroce code

Returns

true if this object has the same error code.

10.36.3.20 void PoDoFo::PdfError::PrintErrorMsg ( ) const

Print an error message to stderr

10.36.3.21 void PoDoFo::PdfError::SetError ( const EPdfError & eCode, const char ∗ pszFile = NULL, int line = 0, const
char ∗ pszInformation = NULL ) [inline]

Set the error code of this object.


Parameters
eCode the error code of this object
pszFile the filename of the source file causing the error or NULL. Typically you will use the gcc macro
FILE here.
line the line of source causing the error or 0. Typically you will use the gcc macro LINE here.
pszInformation additional information on the error. e.g. how to fix the error. This string is intended to be
shown to the user.

10.36.3.22 void PoDoFo::PdfError::SetErrorInformation ( const char ∗ pszInformation ) [inline]

Set additional error informatiom

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.37 PoDoFo::PdfExponentialFunction Class Reference 151

Parameters
pszInformation additional information on the error. e.g. how to fix the error. This string is intended to be
shown to the user.

10.36.3.23 void PoDoFo::PdfError::SetErrorInformation ( const wchar_t ∗ pszInformation ) [inline]

Set additional error informatiom


Parameters
pszInformation additional information on the error. e.g. how to fix the error. This string is intended to be
shown to the user.

10.36.3.24 PdfError::LogMessageCallback ∗ PoDoFo::PdfError::SetLogMessageCallback ( LogMessageCallback ∗


fLogMessageCallback ) [static]

Set a global static LogMessageCallback functor to repleace stderr output in LogMessageInternal


Parameters
fLogMessage←- the pointer to the new callback functor object
Callback

Returns

the pointer to the previous callback functor object

10.36.3.25 const char ∗ PoDoFo::PdfError::what ( ) const

Obtain error description.

Returns

a c string describing the error.

10.37 PoDoFo::PdfExponentialFunction Class Reference

#include <PdfFunction.h>
Inheritance diagram for PoDoFo::PdfExponentialFunction:

PoDoFo::PdfElement

PoDoFo::PdfFunction

PoDoFo::PdfExponentialFunction

Public Member Functions

• PdfExponentialFunction (const PdfArray &rDomain, const PdfArray &rC0, const PdfArray &rC1, double d←-
Exponent, PdfVecObjects ∗pParent)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


152 Class Documentation

• PdfExponentialFunction (const PdfArray &rDomain, const PdfArray &rC0, const PdfArray &rC1, double d←-
Exponent, PdfDocument ∗pParent)

Additional Inherited Members

10.37.1 Detailed Description

This class is a PdfExponentialFunction.

10.37.2 Constructor & Destructor Documentation

10.37.2.1 PoDoFo::PdfExponentialFunction::PdfExponentialFunction ( const PdfArray & rDomain, const PdfArray & rC0,
const PdfArray & rC1, double dExponent, PdfVecObjects ∗ pParent )

Create a new PdfExponentialFunction object.


Parameters
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rC0
rC1
dExponent
pParent parent vector of objects

10.37.2.2 PoDoFo::PdfExponentialFunction::PdfExponentialFunction ( const PdfArray & rDomain, const PdfArray & rC0,
const PdfArray & rC1, double dExponent, PdfDocument ∗ pParent )

Create a new PdfExponentialFunction object.


Parameters
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rC0
rC1
dExponent
pParent parent document

10.38 PoDoFo::PdfExtension Class Reference

#include <PdfExtension.h>

10.38.1 Detailed Description

PdfExtension is a simple class that describes a vendor-specific extension to the official specifications.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.39 PoDoFo::PdfExtGState Class Reference 153

10.39 PoDoFo::PdfExtGState Class Reference

#include <PdfExtGState.h>
Inheritance diagram for PoDoFo::PdfExtGState:

PoDoFo::PdfElement

PoDoFo::PdfExtGState

Public Member Functions

• PdfExtGState (PdfVecObjects ∗pParent)


• PdfExtGState (PdfDocument ∗pParent)
• const PdfName & GetIdentifier () const
• void SetFillOpacity (float opac)
• void SetStrokeOpacity (float opac)
• void SetBlendMode (const char ∗blendMode)
• void SetOverprint (bool enable=true)
• void SetFillOverprint (bool enable=true)
• void SetStrokeOverprint (bool enable=true)
• void SetNonZeroOverprint (bool enable=true)
• void SetRenderingIntent (const char ∗intent)
• void SetFrequency (double frequency)

Additional Inherited Members

10.39.1 Detailed Description

This class wraps the ExtGState object used in the Resource Dictionary of a Content-supporting element (page,
Pattern, etc.) The main usage is for transparency, but it also support a variety of prepress features.

10.39.2 Constructor & Destructor Documentation

10.39.2.1 PoDoFo::PdfExtGState::PdfExtGState ( PdfVecObjects ∗ pParent )

Create a new PdfExtGState object which will introduce itself automatically to every page object it is used on.
Parameters
pParent parent vector of objects

10.39.2.2 PoDoFo::PdfExtGState::PdfExtGState ( PdfDocument ∗ pParent )

Create a new PdfExtGState object which will introduce itself automatically to every page object it is used on.
Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


154 Class Documentation

pParent parent document

10.39.3 Member Function Documentation

10.39.3.1 const PdfName & PoDoFo::PdfExtGState::GetIdentifier ( ) const [inline]

Returns the identifier of this ExtGState how it is known in the pages resource dictionary.

Returns

PdfName containing the identifier (e.g. /ExtGS13)

10.39.3.2 void PoDoFo::PdfExtGState::SetBlendMode ( const char ∗ blendMode )

Sets the transparency blend mode


Parameters
blendMode one of the predefined blending modes (see PodofoDefines.h)

10.39.3.3 void PoDoFo::PdfExtGState::SetFillOpacity ( float opac )

Sets the opacity value to be used for fill operations


Parameters
opac a floating point value from 0 (transparent) to 1 (opaque)

10.39.3.4 void PoDoFo::PdfExtGState::SetFillOverprint ( bool enable = true )

Enables/Disables overprinting for Fill operations


Parameters
enable enable or disable

10.39.3.5 void PoDoFo::PdfExtGState::SetFrequency ( double frequency )

Set the frequency for halftones


Parameters
frequency screen frequency, measured in halftone cells per inch in device space

10.39.3.6 void PoDoFo::PdfExtGState::SetNonZeroOverprint ( bool enable = true )

Enables/Disables non-zero overprint mode


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.40 PoDoFo::PdfFileInputStream Class Reference 155

enable enable or disable

10.39.3.7 void PoDoFo::PdfExtGState::SetOverprint ( bool enable = true )

Enables/Disables overprinting for both Fill & Stroke


Parameters
enable enable or disable

10.39.3.8 void PoDoFo::PdfExtGState::SetRenderingIntent ( const char ∗ intent )

Set the Rendering Intent


Parameters
intent one of the predefined intents (see Podofo.h)

10.39.3.9 void PoDoFo::PdfExtGState::SetStrokeOpacity ( float opac )

Sets the opacity value to be used for stroking operations


Parameters
opac a floating point value from 0 (transparent) to 1 (opaque)

10.39.3.10 void PoDoFo::PdfExtGState::SetStrokeOverprint ( bool enable = true )

Enables/Disables overprinting for Stroke operations


Parameters
enable enable or disable

10.40 PoDoFo::PdfFileInputStream Class Reference

#include <PdfInputStream.h>
Inheritance diagram for PoDoFo::PdfFileInputStream:

PoDoFo::PdfInputStream

PoDoFo::PdfFileInputStream

Public Member Functions

• PdfFileInputStream (const char ∗pszFilename)


• virtual pdf_long Read (char ∗pBuffer, pdf_long lLen, pdf_long ∗=0)
• pdf_long GetFileLength ()
• FILE ∗ GetHandle ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


156 Class Documentation

10.40.1 Detailed Description

An input stream that reads data from a file

10.40.2 Constructor & Destructor Documentation

10.40.2.1 PoDoFo::PdfFileInputStream::PdfFileInputStream ( const char ∗ pszFilename )

Open a file for reading data


Parameters
pszFilename the filename of the file to read

10.40.3 Member Function Documentation

10.40.3.1 pdf_long PoDoFo::PdfFileInputStream::GetFileLength ( )

Get the length of the file.

Returns

the file length

10.40.3.2 FILE ∗ PoDoFo::PdfFileInputStream::GetHandle ( )

Get the internal FILE handle.

Returns

the internal FILE handle

10.40.3.3 pdf_long PoDoFo::PdfFileInputStream::Read ( char ∗ pBuffer, pdf_long lLen, pdf_long ∗ = 0 ) [virtual]

Read data from the input stream


Parameters
pBuffer the data will be stored into this buffer
lLen the size of the buffer and number of bytes that will be read

Returns

the number of bytes read, -1 if an error ocurred and zero if no more bytes are available for reading.

Implements PoDoFo::PdfInputStream.

10.41 PoDoFo::PdfFileOutputStream Class Reference

#include <PdfOutputStream.h>
Inheritance diagram for PoDoFo::PdfFileOutputStream:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.41 PoDoFo::PdfFileOutputStream Class Reference 157

PoDoFo::PdfOutputStream

PoDoFo::PdfFileOutputStream

Public Member Functions

• PdfFileOutputStream (const char ∗pszFilename)


• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()

10.41.1 Detailed Description

An output stream that writes data to a file

10.41.2 Constructor & Destructor Documentation

10.41.2.1 PoDoFo::PdfFileOutputStream::PdfFileOutputStream ( const char ∗ pszFilename )

Open a file for writing data


Parameters
pszFilename the filename of the file to read

10.41.3 Member Function Documentation

10.41.3.1 void PoDoFo::PdfFileOutputStream::Close ( ) [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

10.41.3.2 pdf_long PoDoFo::PdfFileOutputStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Returns

the number of bytes written, -1 if an error ocurred

Implements PoDoFo::PdfOutputStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


158 Class Documentation

10.42 PoDoFo::PdfFileSpec Class Reference

#include <PdfFileSpec.h>
Inheritance diagram for PoDoFo::PdfFileSpec:

PoDoFo::PdfElement

PoDoFo::PdfFileSpec

Public Member Functions

• PdfFileSpec (const char ∗pszFilename, const unsigned char ∗data, ptrdiff_t size, PdfVecObjects ∗pParent,
bool bStripPath=false)
• const PdfString & GetFilename (bool canUnicode) const

Additional Inherited Members

10.42.1 Detailed Description

A file specification is used in the PDF file to referr to another file. The other file can be a file outside of the PDF or
can be embedded into the PDF file itself.

10.42.2 Constructor & Destructor Documentation

10.42.2.1 PoDoFo::PdfFileSpec::PdfFileSpec ( const char ∗ pszFilename, const unsigned char ∗ data, ptrdiff_t size,
PdfVecObjects ∗ pParent, bool bStripPath = false )

Embeds the file in memory from "data" buffer under "pszFileName" fie name.

10.42.3 Member Function Documentation

10.42.3.1 const PdfString & PoDoFo::PdfFileSpec::GetFilename ( bool canUnicode ) const

Gets file name for the FileSpec


Parameters
canUnicode Whether can return file name in unicode (/UF)

Returns

the filename of this file specification. if no general name is available it will try the Unix, Mac and DOS keys too.

10.43 PoDoFo::PdfFileStream Class Reference

#include <PdfFileStream.h>
Inheritance diagram for PoDoFo::PdfFileStream:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.43 PoDoFo::PdfFileStream Class Reference 159

PoDoFo::PdfStream

PoDoFo::PdfFileStream

Public Member Functions

• PdfFileStream (PdfObject ∗pParent, PdfOutputDevice ∗pDevice)


• void SetEncrypted (PdfEncrypt ∗pEncrypt)
• virtual void Write (PdfOutputDevice ∗pDevice, PdfEncrypt ∗pEncrypt=NULL)
• virtual void GetCopy (char ∗∗pBuffer, pdf_long ∗lLen) const
• virtual void GetCopy (PdfOutputStream ∗pStream) const
• virtual pdf_long GetLength () const

Protected Member Functions

• virtual const char ∗ GetInternalBuffer () const


• virtual pdf_long GetInternalBufferSize () const
• virtual void BeginAppendImpl (const TVecFilters &vecFilters)
• virtual void AppendImpl (const char ∗pszString, size_t lLen)
• virtual void EndAppendImpl ()

10.43.1 Detailed Description

A PDF stream can be appended to any PdfObject and can contain arbitrary data.
Most of the time it will contain either drawing commands to draw onto a page or binary data like a font or an image.
A PdfFileStream writes all data directly to an output device without keeping it in memory. PdfFileStream is used
automatically when creating PDF files using PdfImmediateWriter.

See also

PdfVecObjects
PdfStream
PdfMemoryStream
PdfFileStream

10.43.2 Constructor & Destructor Documentation

10.43.2.1 PoDoFo::PdfFileStream::PdfFileStream ( PdfObject ∗ pParent, PdfOutputDevice ∗ pDevice )

Create a new PdfFileStream object which has a parent PdfObject. The stream will be deleted along with the parent.
This constructor will be called by PdfObject::Stream() for you.
Parameters
pParent parent object
pDevice output device

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


160 Class Documentation

10.43.3 Member Function Documentation

10.43.3.1 void PoDoFo::PdfFileStream::AppendImpl ( const char ∗ pszString, size_t lLen ) [protected],


[virtual]

Append a binary buffer to the current stream contents.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.43 PoDoFo::PdfFileStream Class Reference 161

Parameters
pszString a buffer
lLen length of the buffer

See also

BeginAppend
Append
EndAppend

Implements PoDoFo::PdfStream.

10.43.3.2 void PoDoFo::PdfFileStream::BeginAppendImpl ( const TVecFilters & vecFilters ) [protected],


[virtual]

Begin appending data to this stream. Clears the current stream contents.
Parameters
vecFilters use this filters to encode any data written to the stream.

Implements PoDoFo::PdfStream.

10.43.3.3 void PoDoFo::PdfFileStream::EndAppendImpl ( ) [protected], [virtual]

Finish appending data to the stream


Implements PoDoFo::PdfStream.

10.43.3.4 void PoDoFo::PdfFileStream::GetCopy ( char ∗∗ pBuffer, pdf_long ∗ lLen ) const [virtual]

Get a malloced buffer of the current stream. No filters will be applied to the buffer, so if the stream is Flate com-
pressed the compressed copy will be returned.
The caller has to podofo_free() the buffer.
This is currently not implemented for PdfFileStreams and will raise an ePdfError_InternalLogic exception
Parameters
pBuffer pointer to the buffer address (output parameter)
lLen pointer to the buffer length (output parameter)

Implements PoDoFo::PdfStream.

10.43.3.5 void PoDoFo::PdfFileStream::GetCopy ( PdfOutputStream ∗ pStream ) const [virtual]

Get a copy of a the stream and write it to a PdfOutputStream


Parameters
pStream data is written to this stream.

Implements PoDoFo::PdfStream.

10.43.3.6 const char ∗ PoDoFo::PdfFileStream::GetInternalBuffer ( ) const [inline], [protected], [virtual]

Required for the GetFilteredCopy implementation

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


162 Class Documentation

Returns

a handle to the internal buffer

Implements PoDoFo::PdfStream.

10.43.3.7 pdf_long PoDoFo::PdfFileStream::GetInternalBufferSize ( ) const [inline], [protected],


[virtual]

Required for the GetFilteredCopy implementation

Returns

the size of the internal buffer

Implements PoDoFo::PdfStream.

10.43.3.8 pdf_long PoDoFo::PdfFileStream::GetLength ( ) const [inline], [virtual]

Get the streams length with all filters applied (eg the compressed length of a Flate compressed stream).

Returns

the length of the stream with all filters applied

Implements PoDoFo::PdfStream.

10.43.3.9 void PoDoFo::PdfFileStream::SetEncrypted ( PdfEncrypt ∗ pEncrypt )

Set an encryption object which is used to encrypt all data written to this stream.
Parameters
pEncrypt an encryption object or NULL if no encryption should be done

10.43.3.10 void PoDoFo::PdfFileStream::Write ( PdfOutputDevice ∗ pDevice, PdfEncrypt ∗ pEncrypt = NULL )


[virtual]

Write the stream to an output device


Parameters
pDevice write to this outputdevice.
pEncrypt encrypt stream data using this object

Implements PoDoFo::PdfStream.

10.44 PoDoFo::PdfFilter Class Reference

#include <PdfFilter.h>
Inheritance diagram for PoDoFo::PdfFilter:

PoDoFo::PdfFilter

PoDoFo::PdfAscii85Filter PoDoFo::PdfFlateFilter PoDoFo::PdfHexFilter PoDoFo::PdfLZWFilter PoDoFo::PdfRLEFilter

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.44 PoDoFo::PdfFilter Class Reference 163

Public Member Functions

• PdfFilter ()
• virtual ∼PdfFilter ()
• virtual bool CanEncode () const =0
• void Encode (const char ∗pInBuffer, pdf_long lInLen, char ∗∗ppOutBuffer, pdf_long ∗plOutLen) const
• void BeginEncode (PdfOutputStream ∗pOutput)
• void EncodeBlock (const char ∗pBuffer, pdf_long lLen)
• void EndEncode ()
• virtual bool CanDecode () const =0
• void Decode (const char ∗pInBuffer, pdf_long lInLen, char ∗∗ppOutBuffer, pdf_long ∗plOutLen, const Pdf←-
Dictionary ∗pDecodeParms=NULL) const
• void BeginDecode (PdfOutputStream ∗pOutput, const PdfDictionary ∗pDecodeParms=NULL)
• void DecodeBlock (const char ∗pBuffer, pdf_long lLen)
• void EndDecode ()
• virtual EPdfFilter GetType () const =0

Protected Member Functions

• PODOFO_NOTHROW void FailEncodeDecode ()


• virtual void BeginEncodeImpl ()
• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)=0
• virtual void EndEncodeImpl ()
• virtual void BeginDecodeImpl (const PdfDictionary ∗)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)=0
• virtual void EndDecodeImpl ()

10.44.1 Detailed Description

Every filter in PoDoFo has to implement this interface.


The two methods Encode() and Decode() have to be implemented for every filter.
The output buffers are podofo_malloc()'ed in the functions and have to be podofo_free()'d by the caller.

10.44.2 Constructor & Destructor Documentation

10.44.2.1 PoDoFo::PdfFilter::PdfFilter ( )

Construct and initialize a new filter

10.44.2.2 PoDoFo::PdfFilter::∼PdfFilter ( ) [inline], [virtual]

All classes with virtual functions need a virtual destructor

10.44.3 Member Function Documentation

10.44.3.1 void PoDoFo::PdfFilter::BeginDecode ( PdfOutputStream ∗ pOutput, const PdfDictionary ∗ pDecodeParms =


NULL ) [inline]

Begin progressively decoding data using this filter.


This method sets the filter's output stream and may perform other operations defined by particular filter implemen-
tations. It calls BeginDecodeImpl().

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


164 Class Documentation

Parameters
pOutput decoded data will be written to this stream
pDecodeParms a dictionary containing additional information for decoding

Call DecodeBlock() to decode blocks of data and use EndDecode() to finish the decoding process.

See also

DecodeBlock
EndDecode

10.44.3.2 virtual void PoDoFo::PdfFilter::BeginDecodeImpl ( const PdfDictionary ∗ ) [inline], [protected],


[virtual]

Real implementation of BeginDecode(). NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/ DecodeBlock().

See also

BeginDecode

Reimplemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85←-


Filter, and PoDoFo::PdfHexFilter.

10.44.3.3 void PoDoFo::PdfFilter::BeginEncode ( PdfOutputStream ∗ pOutput ) [inline]

Begin progressively encoding data using this filter.


This method sets the filter's output stream and may perform other operations defined by particular filter implemen-
tations. It calls BeginEncodeImpl().
Parameters
pOutput Encoded data will be written to this stream.

Call EncodeBlock() to encode blocks of data and use EndEncode() to finish the encoding process.

See also

EncodeBlock
EndEncode

10.44.3.4 virtual void PoDoFo::PdfFilter::BeginEncodeImpl ( ) [inline], [protected], [virtual]

Real implementation of BeginEncode(). NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for encoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndEncode() was called since
the last BeginEncode()/ EncodeBlock().

See also

BeginEncode

Reimplemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, and PoDoFo::Pdf←-


Ascii85Filter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.44 PoDoFo::PdfFilter Class Reference 165

10.44.3.5 virtual bool PoDoFo::PdfFilter::CanDecode ( ) const [pure virtual]

Check whether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter,


and PoDoFo::PdfHexFilter.

10.44.3.6 virtual bool PoDoFo::PdfFilter::CanEncode ( ) const [pure virtual]

Check whether encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter,


and PoDoFo::PdfHexFilter.

10.44.3.7 void PoDoFo::PdfFilter::Decode ( const char ∗ pInBuffer, pdf_long lInLen, char ∗∗ ppOutBuffer, pdf_long ∗
plOutLen, const PdfDictionary ∗ pDecodeParms = NULL ) const

Decodes a buffer using a filter. The buffer will podofo_malloc()'d and has to be podofo_free()'d by the caller.
Parameters
pInBuffer input buffer
lInLen length of the input buffer
ppOutBuffer receives pointer to the buffer of the decoded data
plOutLen pointer to where to write the output buffer's length
pDecodeParms optional pointer to a decode-parameters dictionary containing additional information to de-
code the data. This pointer must be NULL if no decode-parameters dictionary is available.

10.44.3.8 void PoDoFo::PdfFilter::DecodeBlock ( const char ∗ pBuffer, pdf_long lLen ) [inline]

Decode a block of data and write it to the PdfOutputStream specified by BeginDecode(). Ownership of the block is
not taken and remains with the caller.
The filter implementation need not immediately process the buffer, and might internally buffer some or all of it.
However, if it does this the buffer's contents will be copied, so it is guaranteed to be safe to free the passed buffer
after this call returns.
This method is a wrapper around DecodeBlockImpl().
BeginDecode() must be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndDecode() after all data has been decoded.

See also

BeginDecode
EndDecode

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


166 Class Documentation

10.44.3.9 virtual void PoDoFo::PdfFilter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [protected],
[pure virtual]

Real implementation of DecodeBlock(). NEVER call this method directly.


You must method-override it to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter,


and PoDoFo::PdfHexFilter.

10.44.3.10 void PoDoFo::PdfFilter::Encode ( const char ∗ pInBuffer, pdf_long lInLen, char ∗∗ ppOutBuffer, pdf_long ∗
plOutLen ) const

Encodes a buffer using a filter. The buffer will podofo_malloc()'d and has to be podofo_free()'d by the caller.
This function uses BeginEncode()/EncodeBlock()/EndEncode() internally, so it's not safe to use when progressive
encoding is in progress.
Parameters
pInBuffer input buffer
lInLen length of the input buffer
ppOutBuffer receives pointer to the buffer of the encoded data
plOutLen pointer to where to write the output buffer's length

10.44.3.11 void PoDoFo::PdfFilter::EncodeBlock ( const char ∗ pBuffer, pdf_long lLen ) [inline]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncode(). Ownership of the block is
not taken and remains with the caller.
The filter implementation need not immediately process the buffer, and might internally buffer some or all of it.
However, if it does this the buffer's contents will be copied, so it is guaranteed to be safe to free the passed buffer
after this call returns.
This method is a wrapper around EncodeBlockImpl().
BeginEncode() must be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndEncode() after all data has been encoded.

See also

BeginEncode
EndEncode

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.44 PoDoFo::PdfFilter Class Reference 167

10.44.3.12 virtual void PoDoFo::PdfFilter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [protected],
[pure virtual]

Real implementation of EncodeBlock(). NEVER call this method directly.


You must method-override it to encode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndEncodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginEncode() has been
called, and ensures that EndEncode() has not been called since the last BeginEncode().

See also

EncodeBlock

Implemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter,


and PoDoFo::PdfHexFilter.

10.44.3.13 void PoDoFo::PdfFilter::EndDecode ( ) [inline]

Finish decoding of data and reset the stream's state.

See also

BeginDecode
DecodeBlock

10.44.3.14 virtual void PoDoFo::PdfFilter::EndDecodeImpl ( ) [inline], [protected], [virtual]

Real implementation of EndDecode(). NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginDecode() can be safely called. PdfFilter ensures that a valid stream is available when this method is called,
and ensures that BeginDecodeImpl() has been called.

See also

EndDecode

Reimplemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter, and PoDoFo::Pdf←-


HexFilter.

10.44.3.15 void PoDoFo::PdfFilter::EndEncode ( ) [inline]

Finish encoding of data and reset the stream's state.

See also

BeginEncode
EncodeBlock

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


168 Class Documentation

10.44.3.16 virtual void PoDoFo::PdfFilter::EndEncodeImpl ( ) [inline], [protected], [virtual]

Real implementation of EndEncode(). NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginEncode() can be safely called. PdfFilter ensures that a valid stream is available when this method is called,
and ensures that BeginEncodeImpl() has been called.

See also

EndEncode

Reimplemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, and PoDoFo::Pdf←-


Ascii85Filter.

10.44.3.17 void PoDoFo::PdfFilter::FailEncodeDecode ( ) [inline], [protected]

Indicate that the filter has failed, and will be non-functional until BeginEncode() or BeginDecode() is next called. Call
this instead of EndEncode() or EndDecode if something went wrong. It clears the stream output but otherwise does
nothing.
After this method is called further calls to EncodeBlock(), DecodeBlock(), EndDecode() and EndEncode() before
the next BeginEncode() or BeginDecode() are guaranteed to throw without calling their virtual implementations.

10.44.3.18 virtual EPdfFilter PoDoFo::PdfFilter::GetType ( ) const [pure virtual]

Type of this filter.

Returns

the type of this filter

Implemented in PoDoFo::PdfLZWFilter, PoDoFo::PdfRLEFilter, PoDoFo::PdfFlateFilter, PoDoFo::PdfAscii85Filter,


and PoDoFo::PdfHexFilter.

10.45 PoDoFo::PdfFilteredDecodeStream Class Reference

Inheritance diagram for PoDoFo::PdfFilteredDecodeStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfFilteredDecodeStream

Public Member Functions

• PdfFilteredDecodeStream (PdfOutputStream ∗pOutputStream, const EPdfFilter eFilter, bool bOwnStream,


const PdfDictionary ∗pDecodeParms=NULL)
• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.46 PoDoFo::PdfFilteredEncodeStream Class Reference 169

10.45.1 Detailed Description

Create a filter that is a PdfOutputStream.


All data written to this stream is decoded using a filter and written to another PdfOutputStream.
The passed output stream is owned by this PdfOutputStream and deleted along with it.

10.45.2 Constructor & Destructor Documentation

10.45.2.1 PoDoFo::PdfFilteredDecodeStream::PdfFilteredDecodeStream ( PdfOutputStream ∗ pOutputStream, const


EPdfFilter eFilter, bool bOwnStream, const PdfDictionary ∗ pDecodeParms = NULL ) [inline]

Create a filtered output stream.


All data written to this stream is decoded using the passed filter type and written to the passed output stream which
will be deleted by this PdfFilteredEncodeStream.
Parameters
pOutputStream write all data to this output stream after decoding the data. The PdfOutputStream is deleted
along with this object.
eFilter use this filter for decoding.
bOwnStream if true pOutputStream will be deleted along with this filter
pDecodeParms additional parameters for decoding

10.45.3 Member Function Documentation

10.45.3.1 virtual void PoDoFo::PdfFilteredDecodeStream::Close ( ) [inline], [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

10.45.3.2 virtual pdf_long PoDoFo::PdfFilteredDecodeStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [inline],
[virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Implements PoDoFo::PdfOutputStream.

10.46 PoDoFo::PdfFilteredEncodeStream Class Reference

Inheritance diagram for PoDoFo::PdfFilteredEncodeStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfFilteredEncodeStream

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


170 Class Documentation

Public Member Functions

• PdfFilteredEncodeStream (PdfOutputStream ∗pOutputStream, const EPdfFilter eFilter, bool bOwnStream)


• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()

10.46.1 Detailed Description

Create a filter that is a PdfOutputStream.


All data written to this stream is encoded using a filter and written to another PdfOutputStream.
The passed output stream is owned by this PdfOutputStream and deleted along with it.

10.46.2 Constructor & Destructor Documentation

10.46.2.1 PoDoFo::PdfFilteredEncodeStream::PdfFilteredEncodeStream ( PdfOutputStream ∗ pOutputStream, const


EPdfFilter eFilter, bool bOwnStream ) [inline]

Create a filtered output stream.


All data written to this stream is encoded using the passed filter type and written to the passed output stream which
will be deleted by this PdfFilteredEncodeStream.
Parameters
pOutputStream write all data to this output stream after encoding the data.
eFilter use this filter for encoding.
bOwnStream if true pOutputStream will be deleted along with this filter

10.46.3 Member Function Documentation

10.46.3.1 virtual void PoDoFo::PdfFilteredEncodeStream::Close ( ) [inline], [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

10.46.3.2 virtual pdf_long PoDoFo::PdfFilteredEncodeStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [inline],
[virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Implements PoDoFo::PdfOutputStream.

10.47 PoDoFo::PdfFilterFactory Class Reference

#include <PdfFilter.h>

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.47 PoDoFo::PdfFilterFactory Class Reference 171

Static Public Member Functions

• static std::auto_ptr< PdfFilter > Create (const EPdfFilter eFilter)


• static PdfOutputStream ∗ CreateEncodeStream (const TVecFilters &filters, PdfOutputStream ∗pStream)
• static PdfOutputStream ∗ CreateDecodeStream (const TVecFilters &filters, PdfOutputStream ∗pStream,
const PdfDictionary ∗pDictionary=NULL)
• static EPdfFilter FilterNameToType (const PdfName &name, bool bSupportShortNames=true)
• static const char ∗ FilterTypeToName (EPdfFilter eFilter)
• static TVecFilters CreateFilterList (const PdfObject ∗pObject)

10.47.1 Detailed Description

A factory to create a filter object for a filter type (as GetType() gives) from the EPdfFilter enum. All filters should be
created using this factory.

10.47.2 Member Function Documentation

10.47.2.1 std::auto_ptr< PdfFilter > PoDoFo::PdfFilterFactory::Create ( const EPdfFilter eFilter ) [static]

Create a filter from an enum.


Ownership is transferred to the caller, who should let the auto_ptr the filter is returned in take care of freeing it when
they're done with it.
Parameters
eFilter return value of GetType() for filter to be created

Returns

a new PdfFilter allocated using new, or NULL if no filter is available for this type.

10.47.2.2 PdfOutputStream ∗ PoDoFo::PdfFilterFactory::CreateDecodeStream ( const TVecFilters & filters,


PdfOutputStream ∗ pStream, const PdfDictionary ∗ pDictionary = NULL ) [static]

Create a PdfOutputStream that applies a list of filters on all data written to it.
Parameters
filters a list of filters
pStream write all data to this PdfOutputStream after it has been decoded.
pDictionary pointer to a dictionary that might contain additional parameters for stream decoding. This
method will look for a key named DecodeParms in this dictionary and pass the information
found in that dictionary to the filters.

Returns

a new PdfOutputStream that has to be deleted by the caller.

See also

PdfFilterFactory::CreateFilterList

10.47.2.3 PdfOutputStream ∗ PoDoFo::PdfFilterFactory::CreateEncodeStream ( const TVecFilters & filters,


PdfOutputStream ∗ pStream ) [static]

Create a PdfOutputStream that applies a list of filters on all data written to it.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


172 Class Documentation

Parameters
filters a list of filters
pStream write all data to this PdfOutputStream after it has been encoded

Returns

a new PdfOutputStream that has to be deleted by the caller.

See also

PdfFilterFactory::CreateFilterList

10.47.2.4 TVecFilters PoDoFo::PdfFilterFactory::CreateFilterList ( const PdfObject ∗ pObject ) [static]

The passed PdfObject has to be a dictionary with a Filters key, a (possibly empty) array of filter names or a filter
name.
Parameters
pObject must define a filter or list of filters (can be empty, although then you should use TVecFilters'
default)

Returns

a list of filters

10.47.2.5 EPdfFilter PoDoFo::PdfFilterFactory::FilterNameToType ( const PdfName & name, bool bSupportShortNames =


true ) [static]

Converts a filter name to the corresponding enum


Parameters
name of the filter without leading
bSupportShort←- The PDF Reference supports several short names for filters (e.g. AHx for AsciiHexDecode),
Names if true support for these short names will be enabled. This is often used in inline images.

Returns

the filter as enum

10.47.2.6 const char ∗ PoDoFo::PdfFilterFactory::FilterTypeToName ( EPdfFilter eFilter ) [static]

Converts a filter type enum to the corresponding PdfName


Parameters
eFilter a filter type

Returns

the filter as name

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.48 PoDoFo::PdfFlateFilter Class Reference 173

10.48 PoDoFo::PdfFlateFilter Class Reference

#include <PdfFiltersPrivate.h>
Inheritance diagram for PoDoFo::PdfFlateFilter:

PoDoFo::PdfFilter

PoDoFo::PdfFlateFilter

Public Member Functions

• virtual bool CanEncode () const


• virtual void BeginEncodeImpl ()
• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndEncodeImpl ()
• virtual bool CanDecode () const
• virtual void BeginDecodeImpl (const PdfDictionary ∗pDecodeParms)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndDecodeImpl ()
• virtual EPdfFilter GetType () const

Additional Inherited Members

10.48.1 Detailed Description

The flate filter.

10.48.2 Member Function Documentation

10.48.2.1 void PoDoFo::PdfFlateFilter::BeginDecodeImpl ( const PdfDictionary ∗ pDecodeParms ) [virtual]

Real implementation of ‘BeginDecode()'. NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/DecodeBlock().
Parameters
pDecodeParms additional parameters for decoding data

See also

BeginDecode

Reimplemented from PoDoFo::PdfFilter.

10.48.2.2 void PoDoFo::PdfFlateFilter::BeginEncodeImpl ( ) [virtual]

Begin encoding data using this filter. Called by PdfFilter::BeginEncode.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


174 Class Documentation

See also

EncodeBlockImpl
EndEncodeImpl
PdfFilter::BeginEncode

Reimplemented from PoDoFo::PdfFilter.

10.48.2.3 bool PoDoFo::PdfFlateFilter::CanDecode ( ) const [inline], [virtual]

Check wether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implements PoDoFo::PdfFilter.

10.48.2.4 bool PoDoFo::PdfFlateFilter::CanEncode ( ) const [inline], [virtual]

Check wether the encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implements PoDoFo::PdfFilter.

10.48.2.5 void PoDoFo::PdfFlateFilter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Real implementation of ‘DecodeBlock()'. NEVER call this method directly.


You must override this method to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implements PoDoFo::PdfFilter.

10.48.2.6 void PoDoFo::PdfFlateFilter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncodeImpl.


BeginEncodeImpl() has to be called before this function.
Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.49 PoDoFo::PdfFont Class Reference 175

pBuffer pointer to a buffer with data to encode


lLen length of data to encode.

Call EndEncodeImpl() after all data has been encoded

See also

BeginEncodeImpl
EndEncodeImpl

Implements PoDoFo::PdfFilter.

10.48.2.7 void PoDoFo::PdfFlateFilter::EndDecodeImpl ( ) [virtual]

Real implementation of ‘EndDecode()'. NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginDecode() can be safely called.
PdfFilter ensures that a valid stream is available when this method is called, and ensures that BeginDecodeImpl()
has been called.

See also

EndDecode

Reimplemented from PoDoFo::PdfFilter.

10.48.2.8 void PoDoFo::PdfFlateFilter::EndEncodeImpl ( ) [virtual]

Finish encoding of data.

See also

BeginEncodeImpl
EncodeBlockImpl

Reimplemented from PoDoFo::PdfFilter.

10.48.2.9 EPdfFilter PoDoFo::PdfFlateFilter::GetType ( ) const [inline], [virtual]

GetType of this filter.

Returns

the GetType of this filter

Implements PoDoFo::PdfFilter.

10.49 PoDoFo::PdfFont Class Reference

#include <PdfFont.h>
Inheritance diagram for PoDoFo::PdfFont:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


176 Class Documentation

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontCID PoDoFo::PdfFontSimple

PoDoFo::PdfFontTrueType PoDoFo::PdfFontType1 PoDoFo::PdfFontType1Base14 PoDoFo::PdfFontType3

Public Member Functions

• PdfFont (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent)


• PdfFont (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)
• void SetFontSize (float fSize)
• float GetFontSize () const
• void SetFontScale (float fScale)
• float GetFontScale () const
• void SetFontCharSpace (float fCharSpace)
• float GetFontCharSpace () const
• void SetWordSpace (float fWordSpace)
• float GetWordSpace () const
• void SetUnderlined (bool bUnder)
• bool IsUnderlined () const
• bool IsBold () const
• bool IsItalic () const
• void SetStrikeOut (bool bStrikeOut)
• bool IsStrikeOut () const
• const PdfName & GetIdentifier () const
• const PdfEncoding ∗ GetEncoding () const
• const PdfFontMetrics ∗ GetFontMetrics () const
• PdfFontMetrics ∗ GetFontMetrics2 ()
• virtual void WriteStringToStream (const PdfString &rsString, PdfStream ∗pStream)
• virtual void EmbedFont ()
• virtual void AddUsedSubsettingGlyphs (const PdfString &sText, long lStringLen)
• virtual void AddUsedGlyphname (const char ∗pszGlyphName)
• virtual void EmbedSubsetFont ()
• bool IsSubsetting () const

Protected Member Functions

• const PdfName & GetBaseFont () const


• virtual void SetBold (bool bBold)
• virtual void SetItalic (bool bItalic)

10.49.1 Detailed Description

Before you can draw text on a PDF document, you have to create a font object first. You can reuse this font object
as often as you want.
Use PdfDocument::CreateFont to create a new font object. It will choose a correct subclass using PdfFontFactory.
This is only an abstract base class which is implemented for different font formats.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.49 PoDoFo::PdfFont Class Reference 177

10.49.2 Constructor & Destructor Documentation

10.49.2.1 PoDoFo::PdfFont::PdfFont ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfVecObjects ∗ pParent )

Create a new PdfFont object which will introduce itself automatically to every page object it is used on.
The font has a default font size of 12.0pt.
Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object

10.49.2.2 PoDoFo::PdfFont::PdfFont ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗


pObject )

Create a PdfFont based on an existing PdfObject


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.49.3 Member Function Documentation

10.49.3.1 void PoDoFo::PdfFont::AddUsedGlyphname ( const char ∗ pszGlyphName ) [virtual]

Remember the glyphname in case of subsetting


Parameters
pszGlyphName Name of the glyph to remember

Reimplemented in PoDoFo::PdfFontType1.

10.49.3.2 void PoDoFo::PdfFont::AddUsedSubsettingGlyphs ( const PdfString & sText, long lStringLen ) [virtual]

Remember the glyphs used in the string in case of subsetting


Parameters
sText the text string which should be printed (is not allowed to be NULL!)
lStringLen draw only lLen characters of pszText

Only call if IsSubsetting() returns true. Might throw an exception otherwise.

See also

IsSubsetting

Reimplemented in PoDoFo::PdfFontType1, and PoDoFo::PdfFontCID.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


178 Class Documentation

10.49.3.3 void PoDoFo::PdfFont::EmbedFont ( ) [virtual]

Embeds the font into PDF page


Reimplemented in PoDoFo::PdfFontCID, and PoDoFo::PdfFontSimple.

10.49.3.4 void PoDoFo::PdfFont::EmbedSubsetFont ( ) [virtual]

Embeds pending subset-font into PDF page Only call if IsSubsetting() returns true. Might throw an exception
otherwise.

See also

IsSubsetting

Reimplemented in PoDoFo::PdfFontType1, and PoDoFo::PdfFontCID.

10.49.3.5 const PdfName & PoDoFo::PdfFont::GetBaseFont ( ) const [inline], [protected]

Get the base font name of this font

Returns

the base font name

10.49.3.6 const PdfEncoding ∗ PoDoFo::PdfFont::GetEncoding ( ) const [inline]

Returns a reference to the fonts encoding

Returns

a PdfEncoding object.

10.49.3.7 float PoDoFo::PdfFont::GetFontCharSpace ( ) const [inline]

Retrieve the current character spacing of this font object

Returns

the current font character spacing

10.49.3.8 const PdfFontMetrics ∗ PoDoFo::PdfFont::GetFontMetrics ( ) const [inline]

Returns a handle to the fontmetrics object of this font. This can be used for size calculations of text strings when
drawn using this font.

Returns

a handle to the font metrics object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.49 PoDoFo::PdfFont Class Reference 179

10.49.3.9 PdfFontMetrics ∗ PoDoFo::PdfFont::GetFontMetrics2 ( ) [inline]

Returns a handle to the fontmetrics object of this font. This can be used for size calculations of text strings when
drawn using this font.

Returns

a handle to the font metrics object

10.49.3.10 float PoDoFo::PdfFont::GetFontScale ( ) const [inline]

Retrieve the current horizontal scaling of this font object

Returns

the current font scaling

10.49.3.11 float PoDoFo::PdfFont::GetFontSize ( ) const [inline]

Retrieve the current font size of this font object

Returns

the current font size

10.49.3.12 const PdfName & PoDoFo::PdfFont::GetIdentifier ( ) const [inline]

Returns the identifier of this font how it is known in the pages resource dictionary.

Returns

PdfName containing the identifier (e.g. /Ft13)

10.49.3.13 float PoDoFo::PdfFont::GetWordSpace ( ) const [inline]

Retrieve the current word spacing of this font object

Returns

the current font word spacing in PDF units

10.49.3.14 bool PoDoFo::PdfFont::IsBold ( ) const [inline]

Returns

true if this font is bold

See also

IsItalic
IsUnderlined

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


180 Class Documentation

10.49.3.15 bool PoDoFo::PdfFont::IsItalic ( ) const [inline]

Returns

true if this font is italic

See also

IsBold
IsUnderlined

10.49.3.16 bool PoDoFo::PdfFont::IsStrikeOut ( ) const [inline]

Returns

true if the font is striked out

10.49.3.17 bool PoDoFo::PdfFont::IsSubsetting ( ) const [inline]

Check if this is a subsetting font.

Returns

true if this is a subsetting font

10.49.3.18 bool PoDoFo::PdfFont::IsUnderlined ( ) const [inline]

Returns

true if the font is underlined

See also

IsBold
IsItalic

10.49.3.19 void PoDoFo::PdfFont::SetBold ( bool bBold ) [protected], [virtual]

Used to specify if this represents a bold font


Parameters
bBold if true this is a bold font.

See also

IsBold

This can be called by PdfFontFactory to tell this font object that it belongs to a bold font.
Reimplemented in PoDoFo::PdfFontCID.

10.49.3.20 void PoDoFo::PdfFont::SetFontCharSpace ( float fCharSpace ) [inline]

Set the character spacing of the font

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.49 PoDoFo::PdfFont Class Reference 181

Parameters
fCharSpace character spacing in percent

10.49.3.21 void PoDoFo::PdfFont::SetFontScale ( float fScale ) [inline]

Set the horizontal scaling of the font for compressing (< 100) and expanding (>100)
Parameters
fScale scaling in percent

10.49.3.22 void PoDoFo::PdfFont::SetFontSize ( float fSize ) [inline]

Set the font size before drawing with this font.


Parameters
fSize font size in points

10.49.3.23 void PoDoFo::PdfFont::SetItalic ( bool bItalic ) [protected], [virtual]

Used to specify if this represents an italic font


Parameters
bItalic if true this is an italic font.

See also

IsItalc

This can be called by PdfFontFactory to tell this font object that it belongs to an italic font.
Reimplemented in PoDoFo::PdfFontCID.

10.49.3.24 void PoDoFo::PdfFont::SetStrikeOut ( bool bStrikeOut ) [inline]

Set the strikeout property of the font


Parameters
bStrikeOut if true any text drawn with this font by a PdfPainter will be strikedout. Default is false

10.49.3.25 void PoDoFo::PdfFont::SetUnderlined ( bool bUnder ) [inline]

Set the underlined property of the font


Parameters
bUnder if true any text drawn with this font by a PdfPainter will be underlined. Default is false

10.49.3.26 void PoDoFo::PdfFont::SetWordSpace ( float fWordSpace ) [inline]

Set the word spacing of the font

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


182 Class Documentation

Parameters
fWordSpace word spacing in PDF units

10.49.3.27 void PoDoFo::PdfFont::WriteStringToStream ( const PdfString & rsString, PdfStream ∗ pStream )


[virtual]

Write a PdfString to a PdfStream in a format so that it can be used with this font. This is used by PdfPainter::Draw←-
Text to display a text string. The following PDF operator will be Tj
Parameters
rsString a unicode or ansi string which will be displayed
pStream the string will be appended to pStream without any leading or following whitespaces.

10.50 PoDoFo::PdfFontCache Class Reference

#include <PdfFontCache.h>

Public Types

• enum EFontCreationFlags { eFontCreationFlags_None = 0, eFontCreationFlags_AutoSelectBase14 = 1, e←-


FontCreationFlags_Type1Subsetting = 2 }

Public Member Functions

• PdfFontCache (PdfVecObjects ∗pParent)


• PdfFontCache (const PdfFontConfigWrapper &rFontConfig, PdfVecObjects ∗pParent)
• ∼PdfFontCache ()
• void EmptyCache ()
• PdfFont ∗ GetFont (PdfObject ∗pObject)
• PdfFont ∗ GetFont (const char ∗pszFontName, bool bBold, bool bItalic, bool bSymbolCharset, bool b←-
Embedd, EFontCreationFlags eFontCreationFlags=eFontCreationFlags_AutoSelectBase14, const Pdf←-
Encoding ∗const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char ∗pszFileName=NU←-
LL)
• PdfFont ∗ GetFont (FT_Face face, bool bSymbolCharset, bool bEmbedd, const PdfEncoding ∗const =Pdf←-
EncodingFactory::GlobalWinAnsiEncodingInstance())
• PdfFont ∗ GetDuplicateFontType1 (PdfFont ∗pFont, const char ∗pszSuffix)
• PdfFont ∗ GetFontSubset (const char ∗pszFontName, bool bBold, bool bItalic, bool bSymbolCharset,
const PdfEncoding ∗const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char ∗pszFile←-
Name=NULL)
• void EmbedSubsetFonts ()
• FT_Library GetFontLibrary () const
• void SetFontConfigWrapper (const PdfFontConfigWrapper &rFontConfig)

10.50.1 Detailed Description

This class assists PdfDocument with caching font information.


Additional to font caching, this class is also responsible for font matching.
PdfFont is an actual font that can be used in a PDF file (i.e. it does also font embedding) and PdfFontMetrics
provides only metrics informations.
This class is an internal class of PoDoFo and should not be used in user applications

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.50 PoDoFo::PdfFontCache Class Reference 183

See also

PdfDocument

10.50.2 Member Enumeration Documentation

10.50.2.1 enum PoDoFo::PdfFontCache::EFontCreationFlags

Flags to control font creation.

Enumerator

eFontCreationFlags_None No special settings.


eFontCreationFlags_AutoSelectBase14 Create automatically a base14 font if the fontname matches one of
them.
eFontCreationFlags_Type1Subsetting Create subsetted type1-font, which includes only used characters.

10.50.3 Constructor & Destructor Documentation

10.50.3.1 PoDoFo::PdfFontCache::PdfFontCache ( PdfVecObjects ∗ pParent )

Create an empty font cache


Parameters
pParent a PdfVecObjects which is required to create new font objects

10.50.3.2 PoDoFo::PdfFontCache::PdfFontCache ( const PdfFontConfigWrapper & rFontConfig, PdfVecObjects ∗


pParent )

Create an empty font cache


Parameters
rFontConfig provide a handle to fontconfig, as initializing a new fontconfig intance might be time consum-
ing.
pParent a PdfVecObjects which is required to create new font objects

10.50.3.3 PoDoFo::PdfFontCache::∼PdfFontCache ( )

Destroy and empty the font cache

10.50.4 Member Function Documentation

10.50.4.1 void PoDoFo::PdfFontCache::EmbedSubsetFonts ( )

Embeds all pending subset-fonts

10.50.4.2 void PoDoFo::PdfFontCache::EmptyCache ( )

Empty the internal font cache. This should be done when ever a new document is created or openened.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


184 Class Documentation

10.50.4.3 PdfFont ∗ PoDoFo::PdfFontCache::GetDuplicateFontType1 ( PdfFont ∗ pFont, const char ∗ pszSuffix )

Get a font with specific id from the cache. If the font does not yet exist, copy from existing type1-font and set id.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.50 PoDoFo::PdfFontCache Class Reference 185

Parameters
pFont an existing font
pszSuffix Suffix to add to font-id

Returns

a PdfFont object or NULL if the font could not be created or found.

10.50.4.4 PdfFont ∗ PoDoFo::PdfFontCache::GetFont ( PdfObject ∗ pObject )

Get a font from the cache. If the font does not yet exist, add it to the cache. This font is created from an existing
object.
Parameters
pObject a PdfObject that is a font

Returns

a PdfFont object or NULL if the font could not be created or found.

10.50.4.5 PdfFont ∗ PoDoFo::PdfFontCache::GetFont ( const char ∗ pszFontName, bool bBold, bool


bItalic, bool bSymbolCharset, bool bEmbedd, EFontCreationFlags eFontCreationFlags =
eFontCreationFlags_AutoSelectBase14, const PdfEncoding ∗ const pEncoding =
PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char ∗ pszFileName = NULL )

Get a font from the cache. If the font does not yet exist, add it to the cache.
Parameters
pszFontName a valid fontname
bBold if true search for a bold font
bItalic if true search for an italic font
bSymbolCharset whether to use symbol charset, rather than unicode charset
bEmbedd if true a font for embedding into PDF will be created
eFontCreation←- special flag to specify how fonts should be created
Flags
pEncoding the encoding of the font. The font will not take ownership of this object.
pszFileName optional path to a valid font file

Returns

a PdfFont object or NULL if the font could not be created or found.

10.50.4.6 PdfFont ∗ PoDoFo::PdfFontCache::GetFont ( FT_Face face, bool bSymbolCharset, bool bEmbedd, const
PdfEncoding ∗ const pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() )

Get a font from the cache. If the font does not yet exist, add it to the cache.
Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


186 Class Documentation

face a valid freetype font face (will be free'd by PoDoFo)


bSymbolCharset whether to use symbol charset, rather than unicode charset
bEmbedd if true a font for embedding into PDF will be created
pEncoding the encoding of the font. The font will not take ownership of this object.

Returns

a PdfFont object or NULL if the font could not be created or found.

10.50.4.7 FT_Library PoDoFo::PdfFontCache::GetFontLibrary ( ) const [inline]

Returns the font library from font cache

Returns

the internal handle to the freetype library

10.50.4.8 PdfFont ∗ PoDoFo::PdfFontCache::GetFontSubset ( const char ∗ pszFontName, bool


bBold, bool bItalic, bool bSymbolCharset, const PdfEncoding ∗ const pEncoding =
PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char ∗ pszFileName = NULL )

Get a fontsubset from the cache. If the font does not yet exist, add it to the cache.
Parameters
pszFontName a valid fontname
bBold if true search for a bold font
bItalic if true search for an italic font
bSymbolCharset whether to use symbol charset, rather than unicode charset
pEncoding the encoding of the font. All characters of the encoding will be included in this subset. The
font will not take ownership of this object.
pszFileName optional path to a valid font file

Returns

a PdfFont object or NULL if the font could not be created or found.

10.50.4.9 void PoDoFo::PdfFontCache::SetFontConfigWrapper ( const PdfFontConfigWrapper & rFontConfig )


[inline]

Set wrapper for the fontconfig library. Useful to avoid initializing Fontconfig multiple times.
This setter can be called until first use of Fontconfig as the library is initialized at first use.

10.51 PoDoFo::PdfFontCID Class Reference

#include <PdfFontCID.h>
Inheritance diagram for PoDoFo::PdfFontCID:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.51 PoDoFo::PdfFontCID Class Reference 187

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontCID

Public Member Functions

• PdfFontCID (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent, bool
bEmbed, bool bSubset)
• PdfFontCID (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject, bool b←-
Embed)
• virtual void EmbedFont ()
• virtual void EmbedSubsetFont ()
• virtual void AddUsedSubsettingGlyphs (const PdfString &sText, long lStringLen)

Protected Member Functions

• void Init (bool bEmbed, bool bSubset)


• void EmbedFont (PdfObject ∗pDescriptor)
• virtual void SetBold (bool bBold)
• virtual void SetItalic (bool bItalic)

10.51.1 Detailed Description

A PdfFont that represents a CID font.

10.51.2 Constructor & Destructor Documentation

10.51.2.1 PoDoFo::PdfFontCID::PdfFontCID ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfVecObjects ∗ pParent, bool bEmbed, bool bSubset )

Create a new CID font.


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object
bEmbed specifies the embedding of font
bSubset specifies the subsetting of the font; forces bEmbed to false, if set

10.51.2.2 PoDoFo::PdfFontCID::PdfFontCID ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfObject ∗ pObject, bool bEmbed )

Create a PdfFont based on an existing PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


188 Class Documentation

Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject
bEmbed specifies the embedding of font

10.51.3 Member Function Documentation

10.51.3.1 void PoDoFo::PdfFontCID::AddUsedSubsettingGlyphs ( const PdfString & sText, long lStringLen )


[virtual]

Remember the glyphs used in the string in case of subsetting


Parameters
sText the text string which should be printed (is not allowed to be NULL!)
lStringLen draw only lLen characters of pszText

Only call if IsSubsetting() returns true. Might throw an exception otherwise.

See also

IsSubsetting

Reimplemented from PoDoFo::PdfFont.

10.51.3.2 void PoDoFo::PdfFontCID::EmbedFont ( ) [virtual]

Embeds the font into PDF page


Reimplemented from PoDoFo::PdfFont.

10.51.3.3 void PoDoFo::PdfFontCID::EmbedFont ( PdfObject ∗ pDescriptor ) [protected]

Embed the font file directly into the PDF file.


Parameters
pDescriptor font descriptor object

10.51.3.4 void PoDoFo::PdfFontCID::EmbedSubsetFont ( ) [virtual]

Embeds pending subset-font into PDF page Only call if IsSubsetting() returns true. Might throw an exception
otherwise.

See also

IsSubsetting

Reimplemented from PoDoFo::PdfFont.

10.51.3.5 void PoDoFo::PdfFontCID::Init ( bool bEmbed, bool bSubset ) [protected]

Initialize this font object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.52 PoDoFo::PdfFontConfigWrapper Class Reference 189

Parameters
bEmbed if true embed the font data into the PDF file.
bSubset specifies the subsetting of the font; forces bEmbed to false, if set

10.51.3.6 void PoDoFo::PdfFontCID::SetBold ( bool bBold ) [protected], [virtual]

Used to specify if this represents a bold font


Parameters
bBold if true this is a bold font.

See also

IsBold

This can be called by PdfFontFactory to tell this font object that it belongs to a bold font.
Reimplemented from PoDoFo::PdfFont.

10.51.3.7 void PoDoFo::PdfFontCID::SetItalic ( bool bItalic ) [protected], [virtual]

Used to specify if this represents an italic font


Parameters
bItalic if true this is an italic font.

See also

IsItalc

This can be called by PdfFontFactory to tell this font object that it belongs to an italic font.
Reimplemented from PoDoFo::PdfFont.

10.52 PoDoFo::PdfFontConfigWrapper Class Reference

#include <PdfFontConfigWrapper.h>

Public Member Functions

• PdfFontConfigWrapper ()
• PdfFontConfigWrapper (const PdfFontConfigWrapper &rhs)
• void ∗ GetFontConfig ()

10.52.1 Detailed Description

This class initializes and destroys the FontConfig library.


As initializing fontconfig can take a long time, you can create a wrapper by yourself to cache initialization of fontcon-
fig.
This class is reference counted. The last user of the fontconfig library will destroy the fontconfig handle.
The fontconfig library is initialized on first used (lazy loading!)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


190 Class Documentation

10.52.2 Constructor & Destructor Documentation

10.52.2.1 PoDoFo::PdfFontConfigWrapper::PdfFontConfigWrapper ( )

Create a new FontConfigWrapper and initialize the fontconfig library.

10.52.2.2 PoDoFo::PdfFontConfigWrapper::PdfFontConfigWrapper ( const PdfFontConfigWrapper & rhs )

Copy an existing PdfFontConfigWrapper

10.52.3 Member Function Documentation

10.52.3.1 void ∗ PoDoFo::PdfFontConfigWrapper::GetFontConfig ( ) [inline]

Get access to the internal fontconfig handle. Accesses to this handle have to be synchronized using a mutex!

See also

GetFontConfigMutex

Returns

a FcConfig handle (you can cast to FcConfig)

10.53 PoDoFo::PdfFontFactory Class Reference

#include <PdfFontFactory.h>

Static Public Member Functions

• static PdfFont ∗ CreateFontObject (PdfFontMetrics ∗pMetrics, int nFlags, const PdfEncoding ∗pEncoding,
PdfVecObjects ∗pParent)
• static PdfFont ∗ CreateFont (FT_Library ∗pLibrary, PdfObject ∗pObject)
• static PdfFont ∗ CreateBase14Font (const char ∗pszFontName, EPdfFontFlags eFlags, const PdfEncoding
∗const pEncoding, PdfVecObjects ∗pParent)
• static EPdfFontType GetFontType (const char ∗pszFilename)

10.53.1 Detailed Description

This is a factory class which knows which implementation of PdfFont is required for a certain font type with certain
features (like encoding).

10.53.2 Member Function Documentation

10.53.2.1 PdfFont ∗ PoDoFo::PdfFontFactory::CreateBase14Font ( const char ∗ pszFontName, EPdfFontFlags eFlags, const


PdfEncoding ∗const pEncoding, PdfVecObjects ∗ pParent ) [static]

Creates a new base-14 font object (of class PdfFontType1Base14) if the font name (has to include variant) is one of
the base 14 fonts. The font name is to be given as specified (with an ASCII hyphen).

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.54 PoDoFo::PdfFontMetrics Class Reference 191

Parameters
pszFontName ASCII C string (zero-terminated) of the font name
eFlags one flag for font variant (Bold, Italic or BoldItalic)
pEncoding an encoding compatible with the font
pParent a vector of PDF objects to be the font object's owner

10.53.2.2 PdfFont ∗ PoDoFo::PdfFontFactory::CreateFont ( FT_Library ∗ pLibrary, PdfObject ∗ pObject ) [static]

Create a new PdfFont from an existing font in a PDF file.


Parameters
pLibrary handle to the FreeType library, so that a PdfFontMetrics can be constructed for this font
pObject a PDF font object

10.53.2.3 PdfFont ∗ PoDoFo::PdfFontFactory::CreateFontObject ( PdfFontMetrics ∗ pMetrics, int nFlags, const


PdfEncoding ∗ pEncoding, PdfVecObjects ∗ pParent ) [static]

Create a new PdfFont object.


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the created font. In case of an error, it is deleted here.
nFlags font flags or'ed together, specifying the font style and if it should be embedded
pEncoding the encoding of this font.
pParent the parent of the created font.

Returns

a new PdfFont object or NULL

10.53.2.4 EPdfFontType PoDoFo::PdfFontFactory::GetFontType ( const char ∗ pszFilename ) [static]

Try to guess the fonttype from a the filename of a font file.


Parameters
pszFilename filename of a fontfile

Returns

the font type

10.54 PoDoFo::PdfFontMetrics Class Reference

#include <PdfFontMetrics.h>
Inherited by PoDoFo::PdfFontMetricsBase14, PoDoFo::PdfFontMetricsFreetype, and PoDoFo::PdfFontMetrics←-
Object.

Public Member Functions

• virtual void GetWidthArray (PdfVariant &var, unsigned int nFirst, unsigned int nLast, const PdfEncoding ∗p←-
Encoding=NULL) const =0

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


192 Class Documentation

• virtual double GetGlyphWidth (int nGlyphId) const =0


• virtual double GetGlyphWidth (const char ∗pszGlyphname) const =0
• virtual void GetBoundingBox (PdfArray &array) const =0
• double StringWidth (const PdfString &rsString) const
• double StringWidth (const char ∗pszText, pdf_long nLength=0) const
• double StringWidth (const pdf_utf16be ∗pszText, unsigned int nLength=0) const
• double StringWidth (const wchar_t ∗pszText, unsigned int nLength=0) const
• unsigned long StringWidthMM (const char ∗pszText, unsigned int nLength=0) const
• unsigned long StringWidthMM (const pdf_utf16be ∗pszText, unsigned int nLength=0) const
• unsigned long StringWidthMM (const wchar_t ∗pszText, unsigned int nLength=0) const
• virtual double CharWidth (unsigned char c) const =0
• virtual double UnicodeCharWidth (unsigned short c) const =0
• unsigned long CharWidthMM (unsigned char c) const
• virtual double GetLineSpacing () const =0
• unsigned long GetLineSpacingMM () const
• virtual double GetUnderlineThickness () const =0
• unsigned long GetUnderlineThicknessMM () const
• virtual double GetUnderlinePosition () const =0
• long GetUnderlinePositionMM () const
• virtual double GetStrikeOutPosition () const =0
• unsigned long GetStrikeOutPositionMM () const
• virtual double GetStrikeoutThickness () const =0
• unsigned long GetStrikeoutThicknessMM () const
• const char ∗ GetFilename () const
• virtual const char ∗ GetFontData () const =0
• virtual pdf_long GetFontDataLen () const =0
• virtual const char ∗ GetFontname () const =0
• const char ∗ GetSubsetFontnamePrefix () const
• virtual unsigned int GetWeight () const =0
• virtual double GetAscent () const =0
• virtual double GetPdfAscent () const =0
• virtual double GetDescent () const =0
• virtual double GetPdfDescent () const =0
• virtual int GetItalicAngle () const =0
• void SetFontSize (float fSize)
• float GetFontSize () const
• void SetFontScale (float fScale)
• float GetFontScale () const
• void SetFontCharSpace (float fCharSpace)
• float GetFontCharSpace () const
• void SetWordSpace (float fWordSpace)
• float GetWordSpace () const
• EPdfFontType GetFontType () const
• virtual long GetGlyphId (long lUnicode) const =0
• virtual bool IsSymbol () const =0

Static Public Member Functions

• static EPdfFontType FontTypeFromFilename (const char ∗pszFilename)

Protected Member Functions

• void SetFontType (EPdfFontType eFontType)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.54 PoDoFo::PdfFontMetrics Class Reference 193

10.54.1 Detailed Description

This abstract class provides access to fontmetrics informations.

10.54.2 Member Function Documentation

10.54.2.1 virtual double PoDoFo::PdfFontMetrics::CharWidth ( unsigned char c ) const [pure virtual]

Retrieve the width of the given character in PDF units in the current font
Parameters
c character

Returns

the width in PDF units

10.54.2.2 unsigned long PoDoFo::PdfFontMetrics::CharWidthMM ( unsigned char c ) const [inline]

Retrieve the width of the given character in 1/1000th mm in the current font
Parameters
c character

Returns

the width in 1/1000th mm

10.54.2.3 EPdfFontType PoDoFo::PdfFontMetrics::FontTypeFromFilename ( const char ∗ pszFilename ) [static]

Try to detect the internal fonttype from the file extension of a fontfile.
Parameters
pszFilename must be the filename of a font file

Returns

font type

10.54.2.4 virtual double PoDoFo::PdfFontMetrics::GetAscent ( ) const [pure virtual]

Get the ascent of this font in PDF units for the current font size.

Returns

the ascender for this font

See also

GetPdfAscent

10.54.2.5 virtual void PoDoFo::PdfFontMetrics::GetBoundingBox ( PdfArray & array ) const [pure virtual]

Create the bounding box array as required by the PDF reference so that it can be written directly to a PDF file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


194 Class Documentation

Parameters
array write the bounding box to this array.

10.54.2.6 virtual double PoDoFo::PdfFontMetrics::GetDescent ( ) const [pure virtual]

Get the descent of this font in PDF units for the current font size. This value is usually negative!

Returns

the descender for this font

See also

GetPdfDescent

10.54.2.7 const char ∗ PoDoFo::PdfFontMetrics::GetFilename ( ) const [inline]

Get a pointer to the path of the font file.

Returns

a zero terminated string containing the filename of the font file

10.54.2.8 float PoDoFo::PdfFontMetrics::GetFontCharSpace ( ) const [inline]

Retrieve the current character spacing of this metrics object

Returns

the current font character spacing

10.54.2.9 virtual const char∗ PoDoFo::PdfFontMetrics::GetFontData ( ) const [pure virtual]

Get a pointer to the actual font data - if it was loaded from memory.

Returns

a binary buffer of data containing the font data

10.54.2.10 virtual pdf_long PoDoFo::PdfFontMetrics::GetFontDataLen ( ) const [pure virtual]

Get the length of the actual font data - if it was loaded from memory.

Returns

a the length of the font data

10.54.2.11 virtual const char∗ PoDoFo::PdfFontMetrics::GetFontname ( ) const [pure virtual]

Get a string with the postscript name of the font.

Returns

the postscript name of the font or NULL string if no postscript name is available.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.54 PoDoFo::PdfFontMetrics Class Reference 195

10.54.2.12 float PoDoFo::PdfFontMetrics::GetFontScale ( ) const [inline]

Retrieve the current horizontal scaling of this metrics object

Returns

the current font scaling

10.54.2.13 float PoDoFo::PdfFontMetrics::GetFontSize ( ) const [inline]

Retrieve the current font size of this metrics object

Returns

the current font size

10.54.2.14 EPdfFontType PoDoFo::PdfFontMetrics::GetFontType ( ) const [inline]

Returns

the fonttype of the loaded font

10.54.2.15 virtual long PoDoFo::PdfFontMetrics::GetGlyphId ( long lUnicode ) const [pure virtual]

Get the glyph id for a unicode character in the current font.


Parameters
lUnicode the unicode character value

Returns

the glyhph id for the character or 0 if the glyph was not found.

10.54.2.16 virtual double PoDoFo::PdfFontMetrics::GetGlyphWidth ( int nGlyphId ) const [pure virtual]

Get the width of a single glyph id


Parameters
nGlyphId id of the glyph

Returns

the width of a single glyph id

10.54.2.17 virtual double PoDoFo::PdfFontMetrics::GetGlyphWidth ( const char ∗ pszGlyphname ) const [pure


virtual]

Get the width of a single named glyph

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


196 Class Documentation

Parameters
pszGlyphname name of the glyph

Returns

the width of a single named glyph

10.54.2.18 virtual int PoDoFo::PdfFontMetrics::GetItalicAngle ( ) const [pure virtual]

Get the italic angle of this font. Used to build the font dictionay

Returns

the italic angle of this font.

10.54.2.19 virtual double PoDoFo::PdfFontMetrics::GetLineSpacing ( ) const [pure virtual]

Retrieve the line spacing for this font

Returns

the linespacing in PDF units

10.54.2.20 unsigned long PoDoFo::PdfFontMetrics::GetLineSpacingMM ( ) const [inline]

Retrieve the line spacing for this font

Returns

the linespacing in 1/1000th mm

10.54.2.21 virtual double PoDoFo::PdfFontMetrics::GetPdfAscent ( ) const [pure virtual]

Get the ascent of this font Used to build the font dictionay

Returns

the ascender for this font

See also

GetAscent

10.54.2.22 virtual double PoDoFo::PdfFontMetrics::GetPdfDescent ( ) const [pure virtual]

Get the descent of this font Used to build the font dictionay

Returns

the descender for this font

See also

GetDescent

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.54 PoDoFo::PdfFontMetrics Class Reference 197

10.54.2.23 virtual double PoDoFo::PdfFontMetrics::GetStrikeOutPosition ( ) const [pure virtual]

Return the position of the strikeout for the current font size in PDF units

Returns

the underline position in PDF units

10.54.2.24 unsigned long PoDoFo::PdfFontMetrics::GetStrikeOutPositionMM ( ) const [inline]

Return the position of the strikeout for the current font size in 1/1000th mm

Returns

the underline position in 1/1000th mm

10.54.2.25 virtual double PoDoFo::PdfFontMetrics::GetStrikeoutThickness ( ) const [pure virtual]

Get the width of the strikeout for the current font size in PDF units

Returns

the thickness of the strikeout in PDF units

10.54.2.26 unsigned long PoDoFo::PdfFontMetrics::GetStrikeoutThicknessMM ( ) const [inline]

Get the width of the strikeout for the current font size in 1/1000th mm

Returns

the thickness of the strikeout in 1/1000th mm

10.54.2.27 const char ∗ PoDoFo::PdfFontMetrics::GetSubsetFontnamePrefix ( ) const [inline]

Returns

NULL or a 6 uppercase letter and "+" sign prefix used for font subsets

10.54.2.28 virtual double PoDoFo::PdfFontMetrics::GetUnderlinePosition ( ) const [pure virtual]

Return the position of the underline for the current font size in PDF units

Returns

the underline position in PDF units

10.54.2.29 long PoDoFo::PdfFontMetrics::GetUnderlinePositionMM ( ) const [inline]

Return the position of the underline for the current font size in 1/1000th mm

Returns

the underline position in 1/1000th mm

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


198 Class Documentation

10.54.2.30 virtual double PoDoFo::PdfFontMetrics::GetUnderlineThickness ( ) const [pure virtual]

Get the width of the underline for the current font size in PDF units

Returns

the thickness of the underline in PDF units

10.54.2.31 unsigned long PoDoFo::PdfFontMetrics::GetUnderlineThicknessMM ( ) const [inline]

Get the width of the underline for the current font size in 1/1000th mm

Returns

the thickness of the underline in 1/1000th mm

10.54.2.32 virtual unsigned int PoDoFo::PdfFontMetrics::GetWeight ( ) const [pure virtual]

Get the weight of this font. Used to build the font dictionay

Returns

the weight of this font (500 is normal).

10.54.2.33 virtual void PoDoFo::PdfFontMetrics::GetWidthArray ( PdfVariant & var, unsigned int nFirst, unsigned int nLast,
const PdfEncoding ∗ pEncoding = NULL ) const [pure virtual]

Create a width array for this font which is a required part of every font dictionary.
Parameters
var the final width array is written to this PdfVariant
nFirst first character to be in the array
nLast last character code to be in the array
pEncoding encoding for correct character widths. If not passed default (latin1) encoding is used

10.54.2.34 float PoDoFo::PdfFontMetrics::GetWordSpace ( ) const [inline]

Retrieve the current word spacing of this metrics object

Returns

the current font word spacing in PDF units

10.54.2.35 virtual bool PoDoFo::PdfFontMetrics::IsSymbol ( ) const [pure virtual]

Symbol fonts do need special treatment in a few cases. Use this method to check if the current font is a symbol font.
Symbold fonts are detected by checking if they use FT_ENCODING_MS_SYMBOL as internal encoding.

Returns

true if this is a symbol font

10.54.2.36 void PoDoFo::PdfFontMetrics::SetFontCharSpace ( float fCharSpace ) [inline]

Set the character spacing of this metrics object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.54 PoDoFo::PdfFontMetrics Class Reference 199

Parameters
fCharSpace character spacing in percent

10.54.2.37 void PoDoFo::PdfFontMetrics::SetFontScale ( float fScale ) [inline]

Set the horizontal scaling of the font for compressing (< 100) and expanding (>100) This is typically called from
PdfFont for you.
Parameters
fScale scaling in percent

10.54.2.38 void PoDoFo::PdfFontMetrics::SetFontSize ( float fSize ) [inline]

Set the font size of this metrics object for width and height calculations. This is typically called from PdfFont for you.
Parameters
fSize font size in points

10.54.2.39 void PoDoFo::PdfFontMetrics::SetFontType ( EPdfFontType eFontType ) [inline], [protected]

Set the fonttype.


Parameters
eFontType fonttype

10.54.2.40 void PoDoFo::PdfFontMetrics::SetWordSpace ( float fWordSpace ) [inline]

Set the word spacing of this metrics object


Parameters
fWordSpace word spacing in PDF units

10.54.2.41 double PoDoFo::PdfFontMetrics::StringWidth ( const PdfString & rsString ) const [inline]

Retrieve the width of a given text string in PDF units when drawn with the current font
Parameters
rsString a PdfString from which the width shall be calculated

Returns

the width in PDF units

This is an overloaded method for your convinience!

10.54.2.42 double PoDoFo::PdfFontMetrics::StringWidth ( const char ∗ pszText, pdf_long nLength = 0 ) const

Retrieve the width of a given text string in PDF units when drawn with the current font

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


200 Class Documentation

Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in PDF units

10.54.2.43 double PoDoFo::PdfFontMetrics::StringWidth ( const pdf_utf16be ∗ pszText, unsigned int nLength = 0 ) const

Retrieve the width of a given text string in PDF units when drawn with the current font
Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in PDF units

10.54.2.44 double PoDoFo::PdfFontMetrics::StringWidth ( const wchar_t ∗ pszText, unsigned int nLength = 0 ) const

Retrieve the width of a given text string in PDF units when drawn with the current font
Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in PDF units

10.54.2.45 unsigned long PoDoFo::PdfFontMetrics::StringWidthMM ( const char ∗ pszText, unsigned int nLength = 0 ) const
[inline]

Retrieve the width of a given text string in 1/1000th mm when drawn with the current font
Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in 1/1000th mm

10.54.2.46 unsigned long PoDoFo::PdfFontMetrics::StringWidthMM ( const pdf_utf16be ∗ pszText, unsigned int nLength = 0 )
const [inline]

Retrieve the width of a given text string in 1/1000th mm when drawn with the current font

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.55 PoDoFo::PdfFontSimple Class Reference 201

Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in 1/1000th mm

10.54.2.47 unsigned long PoDoFo::PdfFontMetrics::StringWidthMM ( const wchar_t ∗ pszText, unsigned int nLength = 0 )
const [inline]

Retrieve the width of a given text string in 1/1000th mm when drawn with the current font
Parameters
pszText a text string of which the width should be calculated
nLength if != 0 only the width of the nLength first characters is calculated

Returns

the width in 1/1000th mm

10.54.2.48 virtual double PoDoFo::PdfFontMetrics::UnicodeCharWidth ( unsigned short c ) const [pure virtual]

Retrieve the width of the given character in PDF units in the current font
Parameters
c character

Returns

the width in PDF units

10.55 PoDoFo::PdfFontSimple Class Reference

#include <PdfFontSimple.h>
Inheritance diagram for PoDoFo::PdfFontSimple:

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontSimple

PoDoFo::PdfFontTrueType PoDoFo::PdfFontType1 PoDoFo::PdfFontType1Base14 PoDoFo::PdfFontType3

Public Member Functions

• PdfFontSimple (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent)


• PdfFontSimple (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)
• virtual void EmbedFont ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


202 Class Documentation

Protected Member Functions

• void Init (bool bEmbed, const PdfName &rsSubType)


• virtual void EmbedFontFile (PdfObject ∗pDescriptor)=0

10.55.1 Detailed Description

This is a common base class for simple fonts like truetype or type1 fonts.

10.55.2 Constructor & Destructor Documentation

10.55.2.1 PoDoFo::PdfFontSimple::PdfFontSimple ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfVecObjects ∗ pParent )

Create a new PdfFont object which will introduce itself automatically to every page object it is used on.
The font has a default font size of 12.0pt.
Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object

10.55.2.2 PoDoFo::PdfFontSimple::PdfFontSimple ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfObject ∗ pObject )

Create a PdfFont based on an existing PdfObject


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.55.3 Member Function Documentation

10.55.3.1 void PoDoFo::PdfFontSimple::EmbedFont ( ) [virtual]

Embeds the font into PDF page


Reimplemented from PoDoFo::PdfFont.

10.55.3.2 virtual void PoDoFo::PdfFontSimple::EmbedFontFile ( PdfObject ∗ pDescriptor ) [protected], [pure


virtual]

Embed the font file directly into the PDF file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.56 PoDoFo::PdfFontTrueType Class Reference 203

Parameters
pDescriptor font descriptor object

Implemented in PoDoFo::PdfFontType1, and PoDoFo::PdfFontType1Base14.

10.55.3.3 void PoDoFo::PdfFontSimple::Init ( bool bEmbed, const PdfName & rsSubType ) [protected]

Initialize this font object.


Parameters
bEmbed if true embed the font data into the PDF file.
rsSubType the subtype of the real font.

10.56 PoDoFo::PdfFontTrueType Class Reference

#include <PdfFontTrueType.h>
Inheritance diagram for PoDoFo::PdfFontTrueType:

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontSimple

PoDoFo::PdfFontTrueType

Public Member Functions

• PdfFontTrueType (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent,


bool bEmbed)
• PdfFontTrueType (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)

Additional Inherited Members

10.56.1 Detailed Description

A PdfFont implementation that can be used to embedd truetype fonts into a PDF file or to draw with truetype fonts.
TrueType fonts are always embedded as suggested in the PDF reference.

10.56.2 Constructor & Destructor Documentation

10.56.2.1 PoDoFo::PdfFontTrueType::PdfFontTrueType ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const


pEncoding, PdfVecObjects ∗ pParent, bool bEmbed )

Create a new TrueType font.


It will get embedded automatically.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


204 Class Documentation

Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object
bEmbed if true the font will get embedded.

10.56.2.2 PoDoFo::PdfFontTrueType::PdfFontTrueType ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const


pEncoding, PdfObject ∗ pObject )

Create a PdfFont based on an existing PdfObject


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.57 PoDoFo::PdfFontTTFSubset Class Reference

#include <PdfFontTTFSubset.h>

Public Types

• enum EFontFileType { eFontFileType_TTF, eFontFileType_TTC, eFontFileType_OTF, eFontFileType_←-


Unknown }

Public Member Functions

• PdfFontTTFSubset (const char ∗pszFontFileName, PdfFontMetrics ∗pMetrics, unsigned short nFaceIndex=0)


• PdfFontTTFSubset (PdfInputDevice ∗pDevice, PdfFontMetrics ∗pMetrics, EFontFileType eType, unsigned
short nFaceIndex=0)
• void BuildFont (PdfRefCountedBuffer &outputBuffer, const std::set< pdf_utf16be > &usedChars, std←-
::vector< unsigned char > &cidSet)

10.57.1 Detailed Description

This class is able to build a new TTF font with only certain glyphs from an existing font.

10.57.2 Member Enumeration Documentation

10.57.2.1 enum PoDoFo::PdfFontTTFSubset::EFontFileType

Internal enum specifying the type of a fontfile.

Enumerator

eFontFileType_TTF TrueType Font.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.58 PoDoFo::PdfFontType1 Class Reference 205

eFontFileType_TTC TrueType Collection.

eFontFileType_OTF OpenType Font.

eFontFileType_Unknown Unknown.

10.57.3 Constructor & Destructor Documentation

10.57.3.1 PoDoFo::PdfFontTTFSubset::PdfFontTTFSubset ( const char ∗ pszFontFileName, PdfFontMetrics ∗ pMetrics,


unsigned short nFaceIndex = 0 )

Create a new PdfFontTTFSubset from an existing TTF font file.


Parameters
pszFontFile←- path to a TTF file
Name
pMetrics font metrics object for this font
nFaceIndex index of the face inside of the font

10.57.3.2 PoDoFo::PdfFontTTFSubset::PdfFontTTFSubset ( PdfInputDevice ∗ pDevice, PdfFontMetrics ∗ pMetrics,


EFontFileType eType, unsigned short nFaceIndex = 0 )

Create a new PdfFontTTFSubset from an existing TTF font file using an input device.
Parameters
pDevice a PdfInputDevice
pMetrics font metrics object for this font
eType the type of the font
nFaceIndex index of the face inside of the font

10.57.4 Member Function Documentation

10.57.4.1 void PoDoFo::PdfFontTTFSubset::BuildFont ( PdfRefCountedBuffer & outputBuffer, const std::set< pdf_utf16be


> & usedChars, std::vector< unsigned char > & cidSet )

Actually generate the subsetted font


Parameters
pOutputDevice write the font to this device

10.58 PoDoFo::PdfFontType1 Class Reference

#include <PdfFontType1.h>
Inheritance diagram for PoDoFo::PdfFontType1:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


206 Class Documentation

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontSimple

PoDoFo::PdfFontType1

Public Member Functions

• PdfFontType1 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent,


bool bEmbed, bool bSubsetting=false)
• PdfFontType1 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)
• PdfFontType1 (PdfFontType1 ∗pFont, PdfFontMetrics ∗pMetrics, const char ∗pszSuffix, PdfVecObjects ∗p←-
Parent)

Protected Member Functions

• virtual void AddUsedSubsettingGlyphs (const PdfString &sText, long lStringLen)


• virtual void AddUsedGlyphname (const char ∗sGlyphName)
• virtual void EmbedSubsetFont ()
• virtual void EmbedFontFile (PdfObject ∗pDescriptor)

10.58.1 Detailed Description

A PdfFont implementation that can be used to embedd type1 fonts into a PDF file or to draw with type1 fonts.

10.58.2 Constructor & Destructor Documentation

10.58.2.1 PoDoFo::PdfFontType1::PdfFontType1 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfVecObjects ∗ pParent, bool bEmbed, bool bSubsetting = false )

Create a new Type1 font object.


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object
bEmbed if true the font will get embedded.
bSubsetting if true the font will use subsetting.

10.58.2.2 PoDoFo::PdfFontType1::PdfFontType1 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfObject ∗ pObject )

Create a PdfFont based on an existing PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.58 PoDoFo::PdfFontType1 Class Reference 207

Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.58.2.3 PoDoFo::PdfFontType1::PdfFontType1 ( PdfFontType1 ∗ pFont, PdfFontMetrics ∗ pMetrics, const char ∗


pszSuffix, PdfVecObjects ∗ pParent )

Create a PdfFont based on an existing PdfFont with a new id


Parameters
pFont pointer to existing font
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pszSuffix Suffix to add to font-id
pParent parent of the font object

10.58.3 Member Function Documentation

10.58.3.1 void PoDoFo::PdfFontType1::AddUsedGlyphname ( const char ∗ sGlyphName ) [protected], [virtual]

Remember the glyphname in case of subsetting


Parameters
sGlyphName Name of the glyph to remember

Reimplemented from PoDoFo::PdfFont.

10.58.3.2 void PoDoFo::PdfFontType1::AddUsedSubsettingGlyphs ( const PdfString & sText, long lStringLen )


[protected], [virtual]

Remember the glyphs used in the string in case of subsetting


Parameters
sText the text string which should be printed (is not allowed to be NULL!)
lStringLen draw only lLen characters of pszText

Reimplemented from PoDoFo::PdfFont.

10.58.3.3 void PoDoFo::PdfFontType1::EmbedFontFile ( PdfObject ∗ pDescriptor ) [protected], [virtual]

Embed the font file directly into the PDF file.


Parameters
pDescriptor font descriptor object

Implements PoDoFo::PdfFontSimple.

10.58.3.4 void PoDoFo::PdfFontType1::EmbedSubsetFont ( ) [protected], [virtual]

Embeds pending subset-font into PDF page

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


208 Class Documentation

Reimplemented from PoDoFo::PdfFont.

10.59 PoDoFo::PdfFontType1Base14 Class Reference

#include <PdfFontType1Base14.h>
Inheritance diagram for PoDoFo::PdfFontType1Base14:

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontSimple

PoDoFo::PdfFontType1Base14

Public Member Functions

• PdfFontType1Base14 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗p←-


Parent)
• PdfFontType1Base14 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)

Protected Member Functions

• virtual void EmbedFontFile (PdfObject ∗pDescriptor)

10.59.1 Detailed Description

A PdfFont implementation that can be used draw with base14 type1 fonts into a PDF file.

10.59.2 Constructor & Destructor Documentation

10.59.2.1 PoDoFo::PdfFontType1Base14::PdfFontType1Base14 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const


pEncoding, PdfVecObjects ∗ pParent )

Create a new Type1 font object.


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object

10.59.2.2 PoDoFo::PdfFontType1Base14::PdfFontType1Base14 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const


pEncoding, PdfObject ∗ pObject )

Create a new Type1 font object based on an existing PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.60 PoDoFo::PdfFontType3 Class Reference 209

Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.59.3 Member Function Documentation

10.59.3.1 void PoDoFo::PdfFontType1Base14::EmbedFontFile ( PdfObject ∗ pDescriptor ) [protected],


[virtual]

Embed the font file directly into the PDF file.


Parameters
pDescriptor font descriptor object

Implements PoDoFo::PdfFontSimple.

10.60 PoDoFo::PdfFontType3 Class Reference

#include <PdfFontType3.h>
Inheritance diagram for PoDoFo::PdfFontType3:

PoDoFo::PdfElement

PoDoFo::PdfFont

PoDoFo::PdfFontSimple

PoDoFo::PdfFontType3

Public Member Functions

• PdfFontType3 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfVecObjects ∗pParent,


bool bEmbed)
• PdfFontType3 (PdfFontMetrics ∗pMetrics, const PdfEncoding ∗const pEncoding, PdfObject ∗pObject)

Additional Inherited Members

10.60.1 Detailed Description

A PdfFont implementation that can be used to embedd type3 fonts into a PDF file or to draw with type3 fonts.
Type3 fonts are always embedded.

10.60.2 Constructor & Destructor Documentation

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


210 Class Documentation

10.60.2.1 PoDoFo::PdfFontType3::PdfFontType3 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfVecObjects ∗ pParent, bool bEmbed )

Create a new Type3 font.


It will get embedded automatically.
Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pParent parent of the font object
bEmbed if true the font will get embedded.

10.60.2.2 PoDoFo::PdfFontType3::PdfFontType3 ( PdfFontMetrics ∗ pMetrics, const PdfEncoding ∗const pEncoding,


PdfObject ∗ pObject )

Create a PdfFont based on an existing PdfObject


Parameters
pMetrics pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The
metrics object is deleted along with the font.
pEncoding the encoding of this font. The font will take ownership of this object depending on pEncoding-
>IsAutoDelete()
pObject an existing PdfObject

10.61 PoDoFo::PdfFunction Class Reference

#include <PdfFunction.h>
Inheritance diagram for PoDoFo::PdfFunction:

PoDoFo::PdfElement

PoDoFo::PdfFunction

PoDoFo::PdfExponentialFunction PoDoFo::PdfSampledFunction PoDoFo::PdfStitchingFunction

Protected Member Functions

• PdfFunction (EPdfFunctionType eType, const PdfArray &rDomain, PdfVecObjects ∗pParent)


• PdfFunction (EPdfFunctionType eType, const PdfArray &rDomain, PdfDocument ∗pParent)

Additional Inherited Members

10.61.1 Detailed Description

This class defines a PdfFunction. A function can be used in various ways in a PDF file. Examples are device
dependent rasterization for high quality printing or color transformation functions for certain colorspaces.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.62 PoDoFo::PdfFunctionBaseShadingPattern Class Reference 211

10.61.2 Constructor & Destructor Documentation

10.61.2.1 PoDoFo::PdfFunction::PdfFunction ( EPdfFunctionType eType, const PdfArray & rDomain, PdfVecObjects ∗


pParent ) [protected]

Create a new PdfFunction object.


Parameters
eType the function type
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
pParent parent vector of objects

10.61.2.2 PoDoFo::PdfFunction::PdfFunction ( EPdfFunctionType eType, const PdfArray & rDomain, PdfDocument ∗


pParent ) [protected]

Create a new PdfFunction object.


Parameters
eType the function type
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
pParent parent document

10.62 PoDoFo::PdfFunctionBaseShadingPattern Class Reference

#include <PdfShadingPattern.h>
Inheritance diagram for PoDoFo::PdfFunctionBaseShadingPattern:

PoDoFo::PdfElement

PoDoFo::PdfShadingPattern

PoDoFo::PdfFunctionBaseShadingPattern

Public Member Functions

• PdfFunctionBaseShadingPattern (const PdfColor &rLL, const PdfColor &rUL, const PdfColor &rLR, const
PdfColor &rUR, const PdfArray &rMatrix, PdfVecObjects ∗pParent)
• PdfFunctionBaseShadingPattern (const PdfColor &rLL, const PdfColor &rUL, const PdfColor &rLR, const
PdfColor &rUR, const PdfArray &rMatrix, PdfDocument ∗pParent)

Additional Inherited Members

10.62.1 Detailed Description

A shading pattern that is an 2D shading between four colors.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


212 Class Documentation

10.62.2 Constructor & Destructor Documentation

10.62.2.1 PoDoFo::PdfFunctionBaseShadingPattern::PdfFunctionBaseShadingPattern ( const PdfColor & rLL, const


PdfColor & rUL, const PdfColor & rLR, const PdfColor & rUR, const PdfArray & rMatrix, PdfVecObjects ∗
pParent )

Create an 2D shading pattern


Parameters
rLL the color on lower left corner
rUL the color on upper left corner
rLR the color on lower right corner
rUR the color on upper right corner
rMatrix the transformation matrix mapping the coordinate space specified by the Domain entry into
the shadings target coordinate space
pParent the parent

10.62.2.2 PoDoFo::PdfFunctionBaseShadingPattern::PdfFunctionBaseShadingPattern ( const PdfColor & rLL, const


PdfColor & rUL, const PdfColor & rLR, const PdfColor & rUR, const PdfArray & rMatrix, PdfDocument ∗
pParent )

Create an 2D shading pattern


Parameters
rLL the color on lower left corner
rUL the color on upper left corner
rLR the color on lower right corner
rUR the color on upper right corner
rMatrix the transformation matrix mapping the coordinate space specified by the Domain entry into
the shading's target coordinate space
pParent the parent

10.63 PoDoFo::PdfHexFilter Class Reference

#include <PdfFiltersPrivate.h>
Inheritance diagram for PoDoFo::PdfHexFilter:

PoDoFo::PdfFilter

PoDoFo::PdfHexFilter

Public Member Functions

• virtual bool CanEncode () const


• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual bool CanDecode () const
• virtual void BeginDecodeImpl (const PdfDictionary ∗)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndDecodeImpl ()
• virtual EPdfFilter GetType () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.63 PoDoFo::PdfHexFilter Class Reference 213

Additional Inherited Members

10.63.1 Detailed Description

The ascii hex filter.

10.63.2 Member Function Documentation

10.63.2.1 void PoDoFo::PdfHexFilter::BeginDecodeImpl ( const PdfDictionary ∗ ) [virtual]

Real implementation of ‘BeginDecode()'. NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/DecodeBlock().

See also

BeginDecode

Reimplemented from PoDoFo::PdfFilter.

10.63.2.2 bool PoDoFo::PdfHexFilter::CanDecode ( ) const [inline], [virtual]

Check wether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implements PoDoFo::PdfFilter.

10.63.2.3 bool PoDoFo::PdfHexFilter::CanEncode ( ) const [inline], [virtual]

Check wether the encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implements PoDoFo::PdfFilter.

10.63.2.4 void PoDoFo::PdfHexFilter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Real implementation of ‘DecodeBlock()'. NEVER call this method directly.


You must override this method to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implements PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


214 Class Documentation

10.63.2.5 void PoDoFo::PdfHexFilter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncodeImpl.


BeginEncodeImpl() has to be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndEncodeImpl() after all data has been encoded

See also

BeginEncodeImpl
EndEncodeImpl

Implements PoDoFo::PdfFilter.

10.63.2.6 void PoDoFo::PdfHexFilter::EndDecodeImpl ( ) [virtual]

Real implementation of ‘EndDecode()'. NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginDecode() can be safely called.
PdfFilter ensures that a valid stream is available when this method is called, and ensures that BeginDecodeImpl()
has been called.

See also

EndDecode

Reimplemented from PoDoFo::PdfFilter.

10.63.2.7 EPdfFilter PoDoFo::PdfHexFilter::GetType ( ) const [inline], [virtual]

GetType of this filter.

Returns

the GetType of this filter

Implements PoDoFo::PdfFilter.

10.64 PoDoFo::PdfIdentityEncoding Class Reference

#include <PdfIdentityEncoding.h>
Inheritance diagram for PoDoFo::PdfIdentityEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfIdentityEncoding

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.64 PoDoFo::PdfIdentityEncoding Class Reference 215

Public Member Functions

• PdfIdentityEncoding (int nFirstChar=0, int nLastChar=0xffff, bool bAutoDelete=true, PdfObject ∗pTo←-


Unicode=NULL)
• virtual void AddToDictionary (PdfDictionary &rDictionary) const
• virtual PdfString ConvertToUnicode (const PdfString &rEncodedString, const PdfFont ∗pFont) const
• virtual PdfRefCountedBuffer ConvertToEncoding (const PdfString &rString, const PdfFont ∗pFont) const
• virtual bool IsAutoDelete () const
• virtual bool IsSingleByteEncoding () const
• virtual pdf_utf16be GetCharCode (int nIndex) const

Protected Member Functions

• virtual const PdfName & GetID () const

Additional Inherited Members

10.64.1 Detailed Description

PdfIdentityEncoding is a two-byte encoding which can be used with TrueType fonts to represent all characters
present in a font. If the font contains all unicode glyphs, PdfIdentityEncoding will support all unicode characters.

10.64.2 Constructor & Destructor Documentation

10.64.2.1 PoDoFo::PdfIdentityEncoding::PdfIdentityEncoding ( int nFirstChar = 0, int nLastChar = 0xffff, bool


bAutoDelete = true, PdfObject ∗ pToUnicode = NULL )

Create a new PdfIdentityEncoding.


Parameters
nFirstChar the first supported unicode character code (at least 0)
nLastChar the last supported unicode character code, must be larger than nFirstChar (max value is
0xffff)
bAutoDelete if true the encoding is deleted by its owning font

10.64.3 Member Function Documentation

10.64.3.1 void PoDoFo::PdfIdentityEncoding::AddToDictionary ( PdfDictionary & rDictionary ) const [virtual]

Add this encoding object to a dictionary usually be adding an /Encoding key in font dictionaries.
Parameters
rDictionary add the encoding to this dictionary

Implements PoDoFo::PdfEncoding.

10.64.3.2 PdfRefCountedBuffer PoDoFo::PdfIdentityEncoding::ConvertToEncoding ( const PdfString & rString, const


PdfFont ∗ pFont ) const [virtual]

Convert a unicode PdfString to a string encoded with this encoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


216 Class Documentation

Parameters
rString an unicode PdfString.
pFont the font for which this string is converted

Returns

an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes and is allowed to


have 0 bytes. The returned buffer must not be a unicode string.

Reimplemented from PoDoFo::PdfEncoding.

10.64.3.3 PdfString PoDoFo::PdfIdentityEncoding::ConvertToUnicode ( const PdfString & rEncodedString, const PdfFont


∗ pFont ) const [virtual]

Convert a string that is encoded with this encoding to an unicode PdfString.


Parameters
rEncodedString a string encoded by this encoding. Usually this string was read from a content stream.
pFont the font for which this string is converted

Returns

an unicode PdfString.

Reimplemented from PoDoFo::PdfEncoding.

10.64.3.4 pdf_utf16be PoDoFo::PdfIdentityEncoding::GetCharCode ( int nIndex ) const [virtual]

Get the unicode character code for this encoding at the position nIndex. nIndex is a position between GetFirstChar()
and GetLastChar()
Parameters
nIndex character code at position index

Returns

unicode character code

See also

GetFirstChar
GetLastChar

Will throw an exception if nIndex is out of range.


Implements PoDoFo::PdfEncoding.

10.64.3.5 const PdfName & PoDoFo::PdfIdentityEncoding::GetID ( ) const [inline], [protected],


[virtual]

Get a unique ID for this encoding which can used for comparisons!

Returns

a unique id for this encoding!

Implements PoDoFo::PdfEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.65 PoDoFo::PdfImage Class Reference 217

10.64.3.6 bool PoDoFo::PdfIdentityEncoding::IsAutoDelete ( ) const [inline], [virtual]

PdfIdentityEncoding is usually delete along with the font.

Returns

true if this encoding should be deleted automatically with the font.

Implements PoDoFo::PdfEncoding.

10.64.3.7 bool PoDoFo::PdfIdentityEncoding::IsSingleByteEncoding ( ) const [inline], [virtual]

Returns

true if this is a single byte encoding with a maximum of 256 values.

Implements PoDoFo::PdfEncoding.

10.65 PoDoFo::PdfImage Class Reference

#include <PdfImage.h>
Inheritance diagram for PoDoFo::PdfImage:

PoDoFo::PdfElement PoDoFo::PdfCanvas

PoDoFo::PdfXObject

PoDoFo::PdfImage

Public Member Functions

• PdfImage (PdfVecObjects ∗pParent, const char ∗pszPrefix=NULL)


• PdfImage (PdfDocument ∗pParent, const char ∗pszPrefix=NULL)
• PdfImage (PdfObject ∗pObject)
• void SetImageColorSpace (EPdfColorSpace eColorSpace, const PdfArray ∗indexedData=NULL)
• void SetImageICCProfile (PdfInputStream ∗pStream, long lColorComponents, EPdfColorSpace eAlternate←-
ColorSpace=ePdfColorSpace_DeviceRGB)
• void SetImageSoftmask (const PdfImage ∗pSoftmask)
• double GetWidth () const
• double GetHeight () const
• void SetImageData (unsigned int nWidth, unsigned int nHeight, unsigned int nBitsPerComponent, PdfInput←-
Stream ∗pStream)
• void SetImageData (unsigned int nWidth, unsigned int nHeight, unsigned int nBitsPerComponent, PdfInput←-
Stream ∗pStream, const TVecFilters &vecFilters)
• void SetImageDataRaw (unsigned int nWidth, unsigned int nHeight, unsigned int nBitsPerComponent, Pdf←-
InputStream ∗pStream)
• void LoadFromFile (const char ∗pszFilename)
• void LoadFromData (const unsigned char ∗pData, pdf_long dwLen)
• void SetImageChromaKeyMask (pdf_int64 r, pdf_int64 g, pdf_int64 b, pdf_int64 threshold=0)
• void SetInterpolate (bool bValue)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


218 Class Documentation

Static Public Member Functions

• static const char ∗∗ GetSupportedFormats ()

Additional Inherited Members

10.65.1 Detailed Description

A PdfImage object is needed when ever you want to embedd an image file into a PDF document. The PdfImage
object is embedded once and can be drawn as often as you want on any page in the document using PdfPainter

See also

GetImageReference
PdfPainter::DrawImage
SetImageData

10.65.2 Constructor & Destructor Documentation

10.65.2.1 PoDoFo::PdfImage::PdfImage ( PdfVecObjects ∗ pParent, const char ∗ pszPrefix = NULL )

Constuct a new PdfImage object


Parameters
pParent parent vector of this image
pszPrefix optional prefix for XObject-name

10.65.2.2 PoDoFo::PdfImage::PdfImage ( PdfDocument ∗ pParent, const char ∗ pszPrefix = NULL )

Constuct a new PdfImage object This is an overloaded constructor.


Parameters
pParent parent document
pszPrefix optional prefix for XObject-name

10.65.2.3 PoDoFo::PdfImage::PdfImage ( PdfObject ∗ pObject )

Construct an image from an existing PdfObject


Parameters
pObject a PdfObject that has to be an image

10.65.3 Member Function Documentation

10.65.3.1 double PoDoFo::PdfImage::GetHeight ( ) const [inline]

Get the height of the image when drawn in PDF units

Returns

the height in PDF units

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.65 PoDoFo::PdfImage Class Reference 219

10.65.3.2 const char ∗∗ PoDoFo::PdfImage::GetSupportedFormats ( ) [static]

Get a list of all image formats supported by this PoDoFo build.


Example: { "JPEG", "TIFF", NULL }

Returns

a zero terminates list of all supported image formats

10.65.3.3 double PoDoFo::PdfImage::GetWidth ( ) const [inline]

Get the width of the image when drawn in PDF units

Returns

the width in PDF units

10.65.3.4 void PoDoFo::PdfImage::LoadFromData ( const unsigned char ∗ pData, pdf_long dwLen )

Load the image data from bytes


Parameters
pData bytes
dwLen number of bytes

10.65.3.5 void PoDoFo::PdfImage::LoadFromFile ( const char ∗ pszFilename )

Load the image data from a file


Parameters
pszFilename

10.65.3.6 void PoDoFo::PdfImage::SetImageChromaKeyMask ( pdf_int64 r, pdf_int64 g, pdf_int64 b, pdf_int64 threshold = 0 )

Set an color/chroma-key mask on an image. The masked color will not be painted, i.e. masked as being transparent.
Parameters
r red RGB value of color that should be masked
g green RGB value of color that should be masked
b blue RGB value of color that should be masked
threshold colors are masked that are in the range [(r-threshold, r+threshold),(g-threshold,
g+threshold),(b-threshold, b+threshold)]

10.65.3.7 void PoDoFo::PdfImage::SetImageColorSpace ( EPdfColorSpace eColorSpace, const PdfArray ∗ indexedData =


NULL )

Set the color space of this image. The default value is ePdfColorSpace_DeviceRGB.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


220 Class Documentation

Parameters
eColorSpace one of ePdfColorSpace_DeviceGray, ePdfColorSpace_DeviceRGB and ePdfColorSpace_←-
DeviceCMYK, ePdfColorSpace_Indexed
indexedData this parameter is required only for ePdfColorSpace_Indexed and it contains string with one
number and then color palette, like "/DeviceRGB 15 <000000 00FF00...>" or the string array
can be a resource name.

See also

SetImageICCProfile to set an ICC profile instead of a simple colorspace

10.65.3.8 void PoDoFo::PdfImage::SetImageData ( unsigned int nWidth, unsigned int nHeight, unsigned int
nBitsPerComponent, PdfInputStream ∗ pStream )

Set the actual image data from an input stream


The image data will be flate compressed. If you want no compression or another filter to be applied use the overload
of SetImageData which takes a TVecFilters as argument.
Parameters
nWidth width of the image in pixels
nHeight height of the image in pixels
nBitsPer←- bits per color component of the image (depends on the image colorspace you have set but is
Component 8 in most cases)
pStream stream supplieding raw image data

See also

SetImageData

10.65.3.9 void PoDoFo::PdfImage::SetImageData ( unsigned int nWidth, unsigned int nHeight, unsigned int
nBitsPerComponent, PdfInputStream ∗ pStream, const TVecFilters & vecFilters )

Set the actual image data from an input stream


Parameters
nWidth width of the image in pixels
nHeight height of the image in pixels
nBitsPer←- bits per color component of the image (depends on the image colorspace you have set but is
Component 8 in most cases)
pStream stream supplieding raw image data
vecFilters these filters will be applied to compress the image data

10.65.3.10 void PoDoFo::PdfImage::SetImageDataRaw ( unsigned int nWidth, unsigned int nHeight, unsigned int
nBitsPerComponent, PdfInputStream ∗ pStream )

Set the actual image data from an input stream. The data has to be encoded already and an appropriate filters key
entry has to be set manually before!

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.66 PoDoFo::PdfImmediateWriter Class Reference 221

Parameters
nWidth width of the image in pixels
nHeight height of the image in pixels
nBitsPer←- bits per color component of the image (depends on the image colorspace you have set but is
Component 8 in most cases)
pStream stream supplieding raw image data

10.65.3.11 void PoDoFo::PdfImage::SetImageICCProfile ( PdfInputStream ∗ pStream, long lColorComponents,


EPdfColorSpace eAlternateColorSpace = ePdfColorSpace_DeviceRGB )

Set an ICC profile for this image.


Parameters
pStream an input stream from which the ICC profiles data can be read
lColor←- the number of colorcomponents of the ICC profile
Components
eAlternate←- an alternate colorspace to use if the ICC profile cannot be used
ColorSpace

See also

SetImageColorSpace to set an colorspace instead of an ICC profile for this image

10.65.3.12 void PoDoFo::PdfImage::SetImageSoftmask ( const PdfImage ∗ pSoftmask )

Set a softmask for this image.


Parameters
pSoftmask a PdfImage pointer to the image, which is to be set as softmask, must be 8-Bit-Grayscale

10.65.3.13 void PoDoFo::PdfImage::SetInterpolate ( bool bValue )

Apply an interpolation to the image if the source resolution is lower than the resolution of the output device. Default
is false.
Parameters
bValue whether the image should be interpolated

10.66 PoDoFo::PdfImmediateWriter Class Reference

#include <PdfImmediateWriter.h>
Inheritance diagram for PoDoFo::PdfImmediateWriter:

PoDoFo::PdfWriter PoDoFo::PdfVecObjects::Observer PoDoFo::PdfVecObjects::StreamFactory

PoDoFo::PdfImmediateWriter

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


222 Class Documentation

Public Member Functions

• PdfImmediateWriter (PdfOutputDevice ∗pDevice, PdfVecObjects ∗pVecObjects, const PdfObject ∗pTrailer,


EPdfVersion eVersion=ePdfVersion_1_5, PdfEncrypt ∗pEncrypt=NULL, EPdfWriteMode eWriteMode=ePdf←-
WriteMode_Default)
• EPdfWriteMode GetWriteMode () const
• EPdfVersion GetPdfVersion () const

10.66.1 Detailed Description

A kind of PdfWriter that writes objects with streams immediately to a PdfOutputDevice

10.66.2 Constructor & Destructor Documentation

10.66.2.1 PoDoFo::PdfImmediateWriter::PdfImmediateWriter ( PdfOutputDevice ∗ pDevice, PdfVecObjects ∗


pVecObjects, const PdfObject ∗ pTrailer, EPdfVersion eVersion = ePdfVersion_1_5, PdfEncrypt ∗
pEncrypt = NULL, EPdfWriteMode eWriteMode = ePdfWriteMode_Default )

Create a new PdfWriter that writes objects with streams immediately to a PdfOutputDevice
This has the advantage that large documents can be created without having to keep the whole document in memory.
Parameters
pDevice all stream streams are immediately written to this output device while the document is cre-
ated.
pVecObjects a vector of objects containing the objects which are written to disk
pTrailer the trailer object
eVersion the PDF version of the document to write. The PDF version can only be set in the constructor
as it is the first item written to the document on disk.
pEncrypt pointer to an encryption object or NULL. If not NULL the PdfEncrypt object will be copied and
used to encrypt the created document.
eWriteMode additional options for writing the pdf

10.66.3 Member Function Documentation

10.66.3.1 EPdfVersion PoDoFo::PdfImmediateWriter::GetPdfVersion ( ) const [inline]

Get the PDF version of the document The PDF version can only be set in the constructor as it is the first item written
to the document on disk

Returns

EPdfVersion version of the pdf document

10.66.3.2 EPdfWriteMode PoDoFo::PdfImmediateWriter::GetWriteMode ( ) const [inline]

Get the write mode used for wirting the PDF

Returns

the write mode

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.67 PoDoFo::PdfInfo Class Reference 223

10.67 PoDoFo::PdfInfo Class Reference

#include <PdfInfo.h>
Inheritance diagram for PoDoFo::PdfInfo:

PoDoFo::PdfElement

PoDoFo::PdfInfo

Public Types

• enum EPdfInfoInitial { ePdfInfoInitial_WriteCreationTime = 0x01, ePdfInfoInitial_WriteModificationTime =


0x02, ePdfInfoInitial_WriteProducer = 0x04 }

Public Member Functions

• PdfInfo (PdfVecObjects ∗pParent, int eInitial=ePdfInfoInitial_WriteCreationTime|ePdfInfoInitial_Write←-


Producer)
• PdfInfo (PdfObject ∗pObject, int eInitial=ePdfInfoInitial_WriteModificationTime)
• ∼PdfInfo ()
• void SetAuthor (const PdfString &sAuthor)
• const PdfString & GetAuthor () const
• void SetCreator (const PdfString &sCreator)
• const PdfString & GetCreator () const
• void SetKeywords (const PdfString &sKeywords)
• const PdfString & GetKeywords () const
• void SetSubject (const PdfString &sSubject)
• const PdfString & GetSubject () const
• void SetTitle (const PdfString &sTitle)
• const PdfString & GetTitle () const
• void SetProducer (const PdfString &sProducer)
• const PdfString & GetProducer () const
• void SetTrapped (const PdfName &sTrapped)
• const PdfName & GetTrapped () const
• PdfDate GetCreationDate () const
• PdfDate GetModDate () const
• void SetCustomKey (const PdfName &sName, const PdfString &sValue)

Additional Inherited Members

10.67.1 Detailed Description

This class provides access to the documents info dictionary, which provides information about the PDF document.

10.67.2 Member Enumeration Documentation

10.67.2.1 enum PoDoFo::PdfInfo::EPdfInfoInitial

Enum to specifiy the initial information of the info dictionary.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


224 Class Documentation

Enumerator

ePdfInfoInitial_WriteCreationTime Write the creation time (current time). Default for new documents.
ePdfInfoInitial_WriteModificationTime Write the modification time (current time). Default for loaded docu-
ments.
ePdfInfoInitial_WriteProducer Write producer key. Default for new documents.

10.67.3 Constructor & Destructor Documentation

10.67.3.1 PoDoFo::PdfInfo::PdfInfo ( PdfVecObjects ∗ pParent, int eInitial = ePdfInfoInitial_WriteCreation←-


Time | ePdfInfoInitial_WriteProducer )

Create a new PdfInfo object


Parameters
pParent the parent of this object
eInitial which information should be writting initially to the information dictionary

10.67.3.2 PoDoFo::PdfInfo::PdfInfo ( PdfObject ∗ pObject, int eInitial = ePdfInfoInitial_WriteModificationTime )

Create a PdfInfo object from an existing object in the PDF file.


Parameters
pObject must be an info dictionary.
eInitial which information should be writting initially to the information

10.67.3.3 PoDoFo::PdfInfo::∼PdfInfo ( )

Destructor

10.67.4 Member Function Documentation

10.67.4.1 const PdfString & PoDoFo::PdfInfo::GetAuthor ( ) const [inline]

Get the author of the document

Returns

the author

10.67.4.2 PdfDate PoDoFo::PdfInfo::GetCreationDate ( ) const [inline]

Get creation date of document

Returns

creation date

10.67.4.3 const PdfString & PoDoFo::PdfInfo::GetCreator ( ) const [inline]

Get the creator of the document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.67 PoDoFo::PdfInfo Class Reference 225

Returns

the creator

10.67.4.4 const PdfString & PoDoFo::PdfInfo::GetKeywords ( ) const [inline]

Get the keywords of the document

Returns

the keywords

10.67.4.5 PdfDate PoDoFo::PdfInfo::GetModDate ( ) const [inline]

Get modification date of document

Returns

modification date

10.67.4.6 const PdfString & PoDoFo::PdfInfo::GetProducer ( ) const [inline]

Get the producer of the document

Returns

the producer

10.67.4.7 const PdfString & PoDoFo::PdfInfo::GetSubject ( ) const [inline]

Get the subject of the document

Returns

the subject

10.67.4.8 const PdfString & PoDoFo::PdfInfo::GetTitle ( ) const [inline]

Get the title of the document

Returns

the title

10.67.4.9 const PdfName & PoDoFo::PdfInfo::GetTrapped ( ) const [inline]

Get the trapping state of the document

Returns

the title

10.67.4.10 void PoDoFo::PdfInfo::SetAuthor ( const PdfString & sAuthor )

Set the author of the document.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


226 Class Documentation

Parameters
sAuthor author

10.67.4.11 void PoDoFo::PdfInfo::SetCreator ( const PdfString & sCreator )

Set the creator of the document. Typically the name of the application using the library.
Parameters
sCreator creator

10.67.4.12 void PoDoFo::PdfInfo::SetCustomKey ( const PdfName & sName, const PdfString & sValue )

Set custom info key.


Parameters
sName Name of the key.
sValue Value of the key.

10.67.4.13 void PoDoFo::PdfInfo::SetKeywords ( const PdfString & sKeywords )

Set keywords for this document


Parameters
sKeywords a list of keywords

10.67.4.14 void PoDoFo::PdfInfo::SetProducer ( const PdfString & sProducer )

Set the producer of the document.


Parameters
sProducer producer

10.67.4.15 void PoDoFo::PdfInfo::SetSubject ( const PdfString & sSubject )

Set the subject of the document.


Parameters
sSubject subject

10.67.4.16 void PoDoFo::PdfInfo::SetTitle ( const PdfString & sTitle )

Set the title of the document.


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.68 PoDoFo::PdfInputDevice Class Reference 227

sTitle title

10.67.4.17 void PoDoFo::PdfInfo::SetTrapped ( const PdfName & sTrapped )

Set the trapping state of the document.


Parameters
sTrapped trapped

10.68 PoDoFo::PdfInputDevice Class Reference

#include <PdfInputDevice.h>

Public Member Functions

• PdfInputDevice (const char ∗pszFilename)


• PdfInputDevice (const char ∗pBuffer, size_t lLen)
• PdfInputDevice (const std::istream ∗pInStream)
• virtual ∼PdfInputDevice ()
• virtual void Close ()
• virtual std::streamoff Tell () const
• virtual int GetChar () const
• virtual int Look () const
• virtual void Seek (std::streamoff off, std::ios_base::seekdir dir=std::ios_base::beg)
• virtual std::streamoff Read (char ∗pBuffer, std::streamsize lLen)
• virtual PODOFO_NOTHROW bool Eof () const
• virtual PODOFO_NOTHROW bool Bad () const
• virtual PODOFO_NOTHROW void Clear (std::ios_base::iostate state=std::ios_base::goodbit) const
• PODOFO_NOTHROW bool IsSeekable () const

Protected Member Functions

• PODOFO_NOTHROW void SetSeekable (bool bIsSeekable)


• PdfInputDevice ()

10.68.1 Detailed Description

This class provides an Input device which operates either on a file, a buffer in memory or any arbitrary std::istream
This class is suitable for inheritance to provide input devices of your own for PoDoFo. Just overide the required
virtual methods.

10.68.2 Constructor & Destructor Documentation

10.68.2.1 PoDoFo::PdfInputDevice::PdfInputDevice ( const char ∗ pszFilename )

Construct a new PdfInputDevice that reads all data from a file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


228 Class Documentation

Parameters
pszFilename path to a file that will be opened and all data is read from this file.

10.68.2.2 PoDoFo::PdfInputDevice::PdfInputDevice ( const char ∗ pBuffer, size_t lLen )

Construct a new PdfInputDevice that reads all data from a memory buffer. The buffer will not be owned by this
object - it is COPIED.
Parameters
pBuffer a buffer in memory
lLen the length of the buffer in memory

10.68.2.3 PoDoFo::PdfInputDevice::PdfInputDevice ( const std::istream ∗ pInStream )

Construct a new PdfInputDevice that reads all data from a std::istream.


Parameters
pInStream read from this std::istream

10.68.2.4 PoDoFo::PdfInputDevice::∼PdfInputDevice ( ) [virtual]

Destruct the PdfInputDevice object and close any open files.

10.68.2.5 PoDoFo::PdfInputDevice::PdfInputDevice ( ) [protected]

CAN NOT Construct a new PdfInputDevice without an input source. However subclasses may well need to do just
that.

10.68.3 Member Function Documentation

10.68.3.1 bool PoDoFo::PdfInputDevice::Bad ( ) const [inline], [virtual]

Returns

True if there was an error in an I/O operation

10.68.3.2 void PoDoFo::PdfInputDevice::Clear ( std::ios_base::iostate state = std::ios_base::goodbit ) const


[inline], [virtual]

Set the stream error state. By default, clears badbit, eofbit and failbit.

10.68.3.3 void PoDoFo::PdfInputDevice::Close ( ) [virtual]

Close the input device. No further operations may be performed on this device after calling this function.

10.68.3.4 bool PoDoFo::PdfInputDevice::Eof ( ) const [inline], [virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.68 PoDoFo::PdfInputDevice Class Reference 229

Returns

True if the stream is at EOF

10.68.3.5 int PoDoFo::PdfInputDevice::GetChar ( ) const [virtual]

Get next char from stream.

Returns

the next character from the stream

10.68.3.6 bool PoDoFo::PdfInputDevice::IsSeekable ( ) const [inline]

Returns

True if the stream is seekable. Subclasses can control this value with SetIsSeekable(bool) .

10.68.3.7 int PoDoFo::PdfInputDevice::Look ( ) const [virtual]

Peek at next char in stream. /returns the next char in the stream

10.68.3.8 std::streamoff PoDoFo::PdfInputDevice::Read ( char ∗ pBuffer, std::streamsize lLen ) [virtual]

Read a certain number of bytes from the input device.


Parameters
pBuffer store bytes in this buffer. The buffer has to be large enough.
lLen number of bytes to read.

Returns

the number of bytes that have been read. If reading was successfull the number of read bytes is equal to lLen.

10.68.3.9 void PoDoFo::PdfInputDevice::Seek ( std::streamoff off, std::ios_base::seekdir dir = std::ios_base::beg )


[virtual]

Seek the device to the position offset from the begining


Parameters
off from the beginning of the file
dir where to start (start, cur, end)

A non-seekable input device will throw an InvalidDeviceOperation.

10.68.3.10 void PoDoFo::PdfInputDevice::SetSeekable ( bool bIsSeekable ) [inline], [protected]

Control whether or or not this stream is flagged seekable.

10.68.3.11 std::streamoff PoDoFo::PdfInputDevice::Tell ( ) const [virtual]

Get the current position in file. /returns the current position in the file

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


230 Class Documentation

10.69 PoDoFo::PdfInputStream Class Reference

#include <PdfInputStream.h>
Inheritance diagram for PoDoFo::PdfInputStream:

PoDoFo::PdfInputStream

PoDoFo::PdfDeviceInputStream PoDoFo::PdfFileInputStream PoDoFo::PdfMemoryInputStream

Public Member Functions

• virtual pdf_long Read (char ∗pBuffer, pdf_long lLen, pdf_long ∗pTotalLeft=0)=0

10.69.1 Detailed Description

An interface for reading blocks of data from an a data source.

10.69.2 Member Function Documentation

10.69.2.1 virtual pdf_long PoDoFo::PdfInputStream::Read ( char ∗ pBuffer, pdf_long lLen, pdf_long ∗ pTotalLeft = 0 )
[pure virtual]

Read data from the input stream


Parameters
pBuffer the data will be stored into this buffer
lLen the size of the buffer and number of bytes that will be read
pTotalLeft total bytes left (needed for AES IV and padding)

Returns

the number of bytes read, -1 if an error ocurred and zero if no more bytes are available for reading.

Implemented in PoDoFo::PdfDeviceInputStream, PoDoFo::PdfMemoryInputStream, and PoDoFo::PdfFileInput←-


Stream.

10.70 PoDoFo::PdfIso88592Encoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfIso88592Encoding:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.71 PoDoFo::PdfListBox Class Reference 231

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfWinAnsiEncoding

PoDoFo::PdfIso88592Encoding

Public Member Functions

• PdfIso88592Encoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.70.1 Detailed Description

ISO-8859-2 encoding

10.70.2 Constructor & Destructor Documentation

10.70.2.1 PoDoFo::PdfIso88592Encoding::PdfIso88592Encoding ( ) [inline]

Create a new PdfIso88592Encoding

10.70.3 Member Function Documentation

10.70.3.1 const pdf_utf16be ∗ PoDoFo::PdfIso88592Encoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Reimplemented from PoDoFo::PdfWinAnsiEncoding.

10.71 PoDoFo::PdfListBox Class Reference

#include <PdfField.h>
Inheritance diagram for PoDoFo::PdfListBox:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


232 Class Documentation

PoDoFo::PdfListField

PoDoFo::PdfListBox

Public Member Functions

• PdfListBox (PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfListBox (PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfListBox (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfListBox (PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)
• PdfListBox (const PdfField &rhs)

Additional Inherited Members

10.71.1 Detailed Description

A list box

10.71.2 Constructor & Destructor Documentation

10.71.2.1 PoDoFo::PdfListBox::PdfListBox ( PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.71.2.2 PoDoFo::PdfListBox::PdfListBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.71.2.3 PoDoFo::PdfListBox::PdfListBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗ pDoc )

Create a new PdfTextField

10.71.2.4 PoDoFo::PdfListBox::PdfListBox ( PdfPage ∗ pPage, const PdfRect & rRect, PdfStreamedDocument ∗ pDoc
)

Create a new PdfTextField

10.71.2.5 PoDoFo::PdfListBox::PdfListBox ( const PdfField & rhs )

Create a PdfListBox from a PdfField


Parameters
rhs a PdfField that is a PdfComboBox

Raises an error if PdfField::GetType() != ePdfField_ListBox

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.72 PoDoFo::PdfListField Class Reference 233

10.72 PoDoFo::PdfListField Class Reference

#include <PdfField.h>
Inheritance diagram for PoDoFo::PdfListField:

PoDoFo::PdfListField

PoDoFo::PdfComboBox PoDoFo::PdfListBox

Public Member Functions

• PdfListField (const PdfField &rhs)


• void InsertItem (const PdfString &rsValue, const PdfString &rsDisplayName=PdfString::StringNull)
• void RemoveItem (int nIndex)
• const PdfString GetItem (int nIndex) const
• const PdfString GetItemDisplayText (int nIndex) const
• size_t GetItemCount () const
• void SetSelectedItem (int nIndex)
• int GetSelectedItem () const
• bool IsComboBox () const
• void SetSpellcheckingEnabled (bool bSpellcheck)
• bool IsSpellcheckingEnabled () const
• void SetSorted (bool bSorted)
• bool IsSorted () const
• void SetMultiSelect (bool bMulti)
• bool IsMultiSelect () const

Protected Member Functions

• PdfListField (EPdfField eField, PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfListField (EPdfField eField, PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfListField (EPdfField eField, PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfListField (EPdfField eField, PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)

10.72.1 Detailed Description

A list of items in a PDF file. You cannot create this object directly, use PdfComboBox or PdfListBox instead.

See also

PdfComboBox
PdfListBox

10.72.2 Constructor & Destructor Documentation

10.72.2.1 PoDoFo::PdfListField::PdfListField ( EPdfField eField, PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )


[protected]

Create a new PdfTextField

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


234 Class Documentation

10.72.2.2 PoDoFo::PdfListField::PdfListField ( EPdfField eField, PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm
∗ pParent ) [protected]

Create a new PdfTextField

10.72.2.3 PoDoFo::PdfListField::PdfListField ( EPdfField eField, PdfPage ∗ pPage, const PdfRect & rRect,
PdfDocument ∗ pDoc ) [protected]

Create a new PdfTextField

10.72.2.4 PoDoFo::PdfListField::PdfListField ( EPdfField eField, PdfPage ∗ pPage, const PdfRect & rRect,
PdfStreamedDocument ∗ pDoc ) [protected]

Create a new PdfTextField

10.72.2.5 PoDoFo::PdfListField::PdfListField ( const PdfField & rhs )

Create a PdfListField from a PdfField


Parameters
rhs a PdfField that is a list field
Internal usage only.

10.72.3 Member Function Documentation

10.72.3.1 const PdfString PoDoFo::PdfListField::GetItem ( int nIndex ) const

Parameters
nIndex index of the item

Returns

the value of the item at the specified index

10.72.3.2 size_t PoDoFo::PdfListField::GetItemCount ( ) const

Returns

the number of items in this list

10.72.3.3 const PdfString PoDoFo::PdfListField::GetItemDisplayText ( int nIndex ) const

Parameters
nIndex index of the item

Returns

the display text of the item or if it has no display text its value is returned. This call is equivalent to GetItem()
in this case

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.72 PoDoFo::PdfListField Class Reference 235

See also

GetItem

10.72.3.4 int PoDoFo::PdfListField::GetSelectedItem ( ) const

Sets the currently selected item

Returns

the selected item or -1 if no item was selected

10.72.3.5 void PoDoFo::PdfListField::InsertItem ( const PdfString & rsValue, const PdfString & rsDisplayName =
PdfString::StringNull )

Inserts a new item into the list


Parameters
rsValue the value of the item
rsDisplayName an optional display string that is displayed in the viewer instead of the value

10.72.3.6 bool PoDoFo::PdfListField::IsComboBox ( ) const [inline]

Returns

true if this PdfListField is a PdfComboBox and false if it is a PdfListBox

10.72.3.7 bool PoDoFo::PdfListField::IsMultiSelect ( ) const [inline]

Returns

true if multi selection is enabled for this list

10.72.3.8 bool PoDoFo::PdfListField::IsSorted ( ) const [inline]

Returns

true if sorting is enabled

10.72.3.9 bool PoDoFo::PdfListField::IsSpellcheckingEnabled ( ) const [inline]

Returns

true if spellchecking is enabled for this combobox

10.72.3.10 void PoDoFo::PdfListField::RemoveItem ( int nIndex )

Removes an item for the list

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


236 Class Documentation

Parameters
nIndex index of the item to remove

10.72.3.11 void PoDoFo::PdfListField::SetMultiSelect ( bool bMulti ) [inline]

Sets wether multiple items can be selected by the user in the list.
Parameters
bMulti if true multiselect will be enabled

By default multiselection is turned off.

10.72.3.12 void PoDoFo::PdfListField::SetSelectedItem ( int nIndex )

Sets the currently selected item


Parameters
nIndex index of the currently selected item

10.72.3.13 void PoDoFo::PdfListField::SetSorted ( bool bSorted ) [inline]

Enable or disable sorting of items. The sorting does not happen in acrobat reader but whenever adding items using
PoDoFo or another PDF editing application.
Parameters
bSorted enable/disable sorting

10.72.3.14 void PoDoFo::PdfListField::SetSpellcheckingEnabled ( bool bSpellcheck ) [inline]

Enable/disable spellchecking for this combobox


Parameters
bSpellcheck if true spellchecking will be enabled

combobox are spellchecked by default

10.73 PoDoFo::PdfLZWFilter Class Reference

#include <PdfFiltersPrivate.h>
Inheritance diagram for PoDoFo::PdfLZWFilter:

PoDoFo::PdfFilter

PoDoFo::PdfLZWFilter

Public Member Functions

• virtual bool CanEncode () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.73 PoDoFo::PdfLZWFilter Class Reference 237

• virtual void BeginEncodeImpl ()


• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndEncodeImpl ()
• virtual bool CanDecode () const
• virtual void BeginDecodeImpl (const PdfDictionary ∗)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndDecodeImpl ()
• virtual EPdfFilter GetType () const

Additional Inherited Members

10.73.1 Detailed Description

The LZW filter.

10.73.2 Member Function Documentation

10.73.2.1 void PoDoFo::PdfLZWFilter::BeginDecodeImpl ( const PdfDictionary ∗ pDecodeParms ) [virtual]

Real implementation of ‘BeginDecode()'. NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/DecodeBlock().

See also

BeginDecode

Reimplemented from PoDoFo::PdfFilter.

10.73.2.2 void PoDoFo::PdfLZWFilter::BeginEncodeImpl ( ) [virtual]

Begin encoding data using this filter. Called by PdfFilter::BeginEncode.

See also

EncodeBlockImpl
EndEncodeImpl
PdfFilter::BeginEncode

Reimplemented from PoDoFo::PdfFilter.

10.73.2.3 bool PoDoFo::PdfLZWFilter::CanDecode ( ) const [inline], [virtual]

Check wether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implements PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


238 Class Documentation

10.73.2.4 bool PoDoFo::PdfLZWFilter::CanEncode ( ) const [inline], [virtual]

Check wether the encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implements PoDoFo::PdfFilter.

10.73.2.5 void PoDoFo::PdfLZWFilter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Real implementation of ‘DecodeBlock()'. NEVER call this method directly.


You must override this method to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implements PoDoFo::PdfFilter.

10.73.2.6 void PoDoFo::PdfLZWFilter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncodeImpl.


BeginEncodeImpl() has to be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndEncodeImpl() after all data has been encoded

See also

BeginEncodeImpl
EndEncodeImpl

Implements PoDoFo::PdfFilter.

10.73.2.7 void PoDoFo::PdfLZWFilter::EndDecodeImpl ( ) [virtual]

Real implementation of ‘EndDecode()'. NEVER call this method directly.


By the time this method returns, all filtered data must be written to the stream and the filter must be in a state where
BeginDecode() can be safely called.
PdfFilter ensures that a valid stream is available when this method is called, and ensures that BeginDecodeImpl()
has been called.

See also

EndDecode

Reimplemented from PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.74 PoDoFo::PdfMacRomanEncoding Class Reference 239

10.73.2.8 void PoDoFo::PdfLZWFilter::EndEncodeImpl ( ) [virtual]

Finish encoding of data.

See also

BeginEncodeImpl
EncodeBlockImpl

Reimplemented from PoDoFo::PdfFilter.

10.73.2.9 EPdfFilter PoDoFo::PdfLZWFilter::GetType ( ) const [inline], [virtual]

GetType of this filter.

Returns

the GetType of this filter

Implements PoDoFo::PdfFilter.

10.74 PoDoFo::PdfMacRomanEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfMacRomanEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfMacRomanEncoding

Public Member Functions

• PdfMacRomanEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.74.1 Detailed Description

Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::MacRomanEncoding.

See also

PdfFont::MacRomanEncoding

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


240 Class Documentation

10.74.2 Constructor & Destructor Documentation

10.74.2.1 PoDoFo::PdfMacRomanEncoding::PdfMacRomanEncoding ( ) [inline]

Create a new PdfMacRomanEncoding

10.74.3 Member Function Documentation

10.74.3.1 const pdf_utf16be ∗ PoDoFo::PdfMacRomanEncoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.

10.75 PoDoFo::PdfMemDocument Class Reference

#include <PdfMemDocument.h>
Inheritance diagram for PoDoFo::PdfMemDocument:

PoDoFo::PdfDocument

PoDoFo::PdfMemDocument

Public Member Functions

• PdfMemDocument ()
• PdfMemDocument (bool bOnlyTrailer)
• PdfMemDocument (const char ∗pszFilename)
• virtual ∼PdfMemDocument ()
• void Load (const char ∗pszFilename)
• void Load (const char ∗pBuffer, long lLen)
• void Load (const PdfRefCountedInputDevice &rDevice)
• bool IsLoaded (void) const
• void Write (const char ∗pszFilename)
• void Write (PdfOutputDevice ∗pDevice)
• void SetWriteMode (EPdfWriteMode eWriteMode)
• virtual EPdfWriteMode GetWriteMode () const
• void SetPdfVersion (EPdfVersion eVersion)
• EPdfVersion GetPdfVersion () const
• void AddPdfExtension (const char ∗ns, pdf_int64 level)
• bool HasPdfExtension (const char ∗ns, pdf_int64 level) const
• void RemovePdfExtension (const char ∗ns, pdf_int64 level)
• std::vector< PdfExtension > GetPdfExtensions () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 241

• void SetPassword (const std::string &sPassword)


• void SetEncrypted (const std::string &userPassword, const std::string &ownerPassword, int protec-
tion=PdfEncrypt::ePdfPermissions_Print|PdfEncrypt::ePdfPermissions_Edit|PdfEncrypt::ePdfPermissions←-
_Copy|PdfEncrypt::ePdfPermissions_EditNotes|PdfEncrypt::ePdfPermissions_FillAndSign|PdfEncrypt::e←-
PdfPermissions_Accessible|PdfEncrypt::ePdfPermissions_DocAssembly|PdfEncrypt::ePdfPermissions_←-
HighPrint, PdfEncrypt::EPdfEncryptAlgorithm eAlgorithm=PdfEncrypt::ePdfEncryptAlgorithm_RC4V1, Pdf←-
Encrypt::EPdfKeyLength eKeyLength=PdfEncrypt::ePdfKeyLength_40)
• void SetEncrypted (const PdfEncrypt &pEncrypt)
• bool GetEncrypted () const
• bool IsLinearized () const
• const PdfVecObjects & GetObjects () const
• PdfVecObjects & GetObjects ()
• PdfObject ∗ GetCatalog ()
• const PdfObject ∗ GetCatalog () const
• const PdfObject ∗ GetTrailer () const
• PdfObject ∗ GetStructTreeRoot () const
• PdfObject ∗ GetMetadata () const
• PdfObject ∗ GetMarkInfo () const
• PdfObject ∗ GetLanguage () const
• PdfFont ∗ GetFont (PdfObject ∗pObject)
• const PdfMemDocument & InsertPages (const PdfMemDocument &rDoc, int inFirstPage, int inNumPages)
• void DeletePages (int inFirstPage, int inNumPages)
• virtual bool IsPrintAllowed () const
• virtual bool IsEditAllowed () const
• virtual bool IsCopyAllowed () const
• virtual bool IsEditNotesAllowed () const
• virtual bool IsFillAndSignAllowed () const
• virtual bool IsAccessibilityAllowed () const
• virtual bool IsDocAssemblyAllowed () const
• virtual bool IsHighPrintAllowed () const
• void FreeObjectMemory (const PdfReference &rRef, bool bForce=false)
• void FreeObjectMemory (PdfObject ∗pObj, bool bForce=false)
• const PdfEncrypt ∗ GetEncrypt () const

Protected Member Functions

• PdfObject ∗ GetNamedObjectFromCatalog (const char ∗pszName) const


• virtual void InitFromParser (PdfParser ∗pParser)

10.75.1 Detailed Description

PdfMemDocument is the core class for reading and manipulating PDF files and writing them back to disk.
PdfMemDocument was designed to allow easy access to the object structur of a PDF file.
PdfMemDocument should be used whenever you want to change the object structure of a PDF file.
When you are only creating PDF files, please use PdfStreamedDocument which is usually faster for creating PDFs.

See also

PdfDocument
PdfStreamedDocument
PdfParser
PdfWriter

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


242 Class Documentation

10.75.2 Constructor & Destructor Documentation

10.75.2.1 PoDoFo::PdfMemDocument::PdfMemDocument ( )

Construct a new (empty) PdfMemDocument

10.75.2.2 PoDoFo::PdfMemDocument::PdfMemDocument ( bool bOnlyTrailer )

Construct a new (empty) PdfMemDocument

10.75.2.3 PoDoFo::PdfMemDocument::PdfMemDocument ( const char ∗ pszFilename )

Construct a PdfMemDocument from an existing PDF (on disk)


Parameters
pszFilename filename of the file which is going to be parsed/opened

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword with the correct password in this case.

See also

SetPassword

10.75.2.4 PoDoFo::PdfMemDocument::∼PdfMemDocument ( ) [virtual]

Close down/destruct the PdfMemDocument

10.75.3 Member Function Documentation

10.75.3.1 void PoDoFo::PdfMemDocument::AddPdfExtension ( const char ∗ ns, pdf_int64 level )

Add a vendor-specific extension to the current PDF version.


Parameters
ns namespace of the extension
level level of the extension

10.75.3.2 void PoDoFo::PdfMemDocument::DeletePages ( int inFirstPage, int inNumPages )

Deletes one or more pages from this document It does NOT remove any PdfObjects from memory - just the refer-
ence from the pages tree. If you want to delete resources of this page, you have to delete them yourself, but the
resources might be used by other pages, too.
Parameters
inFirstPage the first page number to delete (0-based)
inNumPages the number of pages to delete

Returns

this document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 243

10.75.3.3 void PoDoFo::PdfMemDocument::FreeObjectMemory ( const PdfReference & rRef, bool bForce = false )

Tries to free all memory allocated by the given PdfObject (variables and streams) and reads it from disk again if it is
requested another time.
This will only work if load on demand is used. Other- wise any call to this method will be ignored. Load on demand
is currently always enabled when using PdfMemDocument. If the object is dirty if will not be free'd.
Parameters
rRef free all memory allocated by the object with this reference.
bForce if true the object will be free'd even if IsDirty() returns true. So you will loose any changes
made to this object.

This is an overloaded member for your convinience.

10.75.3.4 void PoDoFo::PdfMemDocument::FreeObjectMemory ( PdfObject ∗ pObj, bool bForce = false )

Tries to free all memory allocated by the given PdfObject (variables and streams) and reads it from disk again if it is
requested another time.
This will only work if load on demand is used. Other- wise any call to this method will be ignored. Load on demand
is currently always enabled when using PdfMemDocument. If the object is dirty if will not be free'd.
Parameters
pObj free object from memory
bForce if true the object will be free'd even if IsDirty() returns true. So you will loose any changes
made to this object.

See also

IsDirty

10.75.3.5 PdfObject∗ PoDoFo::PdfMemDocument::GetCatalog ( ) [inline]

Get access to the internal Catalog dictionary or root object.

Returns

PdfObject the documents catalog or NULL if no catalog is available

10.75.3.6 const PdfObject∗ PoDoFo::PdfMemDocument::GetCatalog ( ) const [inline]

Get access to the internal Catalog dictionary or root object.

Returns

PdfObject the documents catalog or NULL if no catalog is available

10.75.3.7 const PdfEncrypt ∗ PoDoFo::PdfMemDocument::GetEncrypt ( ) const [inline]

Returns

the parsers encryption object or NULL if the read PDF file was not encrypted

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


244 Class Documentation

10.75.3.8 bool PoDoFo::PdfMemDocument::GetEncrypted ( ) const [inline]

Returns

true if this PdfMemDocument creates an encrypted PDF file

10.75.3.9 PdfFont ∗ PoDoFo::PdfMemDocument::GetFont ( PdfObject ∗ pObject )

Creates a PdfFont object from an existing font.


Parameters
pObject a PdfObject that is a font

Returns

PdfFont∗ a pointer to a new PdfFont object. The returned object is owned by the PdfDocument.

10.75.3.10 PdfObject∗ PoDoFo::PdfMemDocument::GetLanguage ( ) const [inline]

Get access to the RFC 3066 natural language id for the document (ISO 32000-1:2008 14.9.2.1)

Returns

PdfObject the language ID string

10.75.3.11 PdfObject∗ PoDoFo::PdfMemDocument::GetMarkInfo ( ) const [inline]

Get access to the MarkInfo dictionary (ISO 32000-1:2008 14.7.1)

Returns

PdfObject the MarkInfo dictionary

10.75.3.12 PdfObject∗ PoDoFo::PdfMemDocument::GetMetadata ( ) const [inline]

Get access to the Metadata stream

Returns

PdfObject the Metadata stream (should be in XML, using XMP grammar)

10.75.3.13 PdfObject ∗ PoDoFo::PdfMemDocument::GetNamedObjectFromCatalog ( const char ∗ pszName ) const


[protected]

Get a dictioary from the catalog dictionary by its name.


Parameters
pszName will be converted into a PdfName

Returns

the dictionary if it was found or NULL

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 245

10.75.3.14 const PdfVecObjects& PoDoFo::PdfMemDocument::GetObjects ( ) const [inline]

Get a reference to the sorted internal objects vector.

Returns

the internal objects vector.

10.75.3.15 PdfVecObjects& PoDoFo::PdfMemDocument::GetObjects ( ) [inline]

Get a reference to the sorted internal objects vector. This is an overloaded function for your convinience.

Returns

the internal objects vector.

10.75.3.16 std::vector< PdfExtension > PoDoFo::PdfMemDocument::GetPdfExtensions ( ) const

Return the list of all vendor-specific extensions to the current PDF version.
Parameters
ns namespace of the extension
level level of the extension

10.75.3.17 EPdfVersion PoDoFo::PdfMemDocument::GetPdfVersion ( ) const [inline], [virtual]

Get the PDF version of the document

Returns

EPdfVersion version of the pdf document

Implements PoDoFo::PdfDocument.

10.75.3.18 PdfObject∗ PoDoFo::PdfMemDocument::GetStructTreeRoot ( ) const [inline]

Get access to the StructTreeRoot dictionary

Returns

PdfObject the StructTreeRoot dictionary

10.75.3.19 const PdfObject∗ PoDoFo::PdfMemDocument::GetTrailer ( ) const [inline]

Get the trailer dictionary which can be written unmodified to a pdf file.

10.75.3.20 virtual EPdfWriteMode PoDoFo::PdfMemDocument::GetWriteMode ( ) const [inline], [virtual]

Get the write mode used for wirting the PDF

Returns

the write mode

Implements PoDoFo::PdfDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


246 Class Documentation

10.75.3.21 bool PoDoFo::PdfMemDocument::HasPdfExtension ( const char ∗ ns, pdf_int64 level ) const

Checks whether the documents is tagged to imlpement a vendor-specific extension to the current PDF version.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 247

Parameters
ns namespace of the extension
level level of the extension

10.75.3.22 void PoDoFo::PdfMemDocument::InitFromParser ( PdfParser ∗ pParser ) [protected], [virtual]

Internal method to load all objects from a PdfParser object. The objects will be removed from the parser and are
now owned by the PdfMemDocument.

10.75.3.23 const PdfMemDocument & PoDoFo::PdfMemDocument::InsertPages ( const PdfMemDocument & rDoc, int
inFirstPage, int inNumPages )

Copies one or more pages from another PdfMemDocument to this document


Parameters
rDoc the document to append
inFirstPage the first page number to copy (0-based)
inNumPages the number of pages to copy

Returns

this document

10.75.3.24 bool PoDoFo::PdfMemDocument::IsAccessibilityAllowed ( ) const [inline], [virtual]

Checks if it is allowed to extract text and graphics to support users with disabillities Every PDF consuming applica-
tions has to adhere this value!

Returns

true if you are allowed to extract text and graphics to support users with disabillities

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.25 bool PoDoFo::PdfMemDocument::IsCopyAllowed ( ) const [inline], [virtual]

Checks if text and graphics extraction is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to extract text and graphics from this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


248 Class Documentation

10.75.3.26 bool PoDoFo::PdfMemDocument::IsDocAssemblyAllowed ( ) const [inline], [virtual]

Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications
has to adhere this value!

Returns

true if you are allowed to insert, create, rotate, delete pages or add bookmarks

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.27 bool PoDoFo::PdfMemDocument::IsEditAllowed ( ) const [inline], [virtual]

Checks if modifiying this document (besides annotations, form fields or changing pages) is allowed. Every PDF
consuming applications has to adhere this value!

Returns

true if you are allowed to modfiy this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.28 bool PoDoFo::PdfMemDocument::IsEditNotesAllowed ( ) const [inline], [virtual]

Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere
this value!

Returns

true if you are allowed to add or modify annotations or form fields

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.29 bool PoDoFo::PdfMemDocument::IsFillAndSignAllowed ( ) const [inline], [virtual]

Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this
value!

Returns

true if you are allowed to fill in existing form or signature fields

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 249

10.75.3.30 bool PoDoFo::PdfMemDocument::IsHighPrintAllowed ( ) const [inline], [virtual]

Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to
adhere this value!

Returns

true if you are allowed to print a high quality version of this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.31 bool PoDoFo::PdfMemDocument::IsLinearized ( ) const [inline], [virtual]

Returns wether this PDF document is linearized, aka weboptimized

Returns

true if the PDF document is linearized

Implements PoDoFo::PdfDocument.

10.75.3.32 bool PoDoFo::PdfMemDocument::IsLoaded ( void ) const [inline]

Returns whether the document is fully loaded.

10.75.3.33 bool PoDoFo::PdfMemDocument::IsPrintAllowed ( ) const [inline], [virtual]

Checks if printing this document is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to print this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.75.3.34 void PoDoFo::PdfMemDocument::Load ( const char ∗ pszFilename )

Load a PdfMemDocument from a file


Parameters
pszFilename filename of the file which is going to be parsed/opened

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword with the correct password in this case.

See also

SetPassword

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


250 Class Documentation

10.75.3.35 void PoDoFo::PdfMemDocument::Load ( const char ∗ pBuffer, long lLen )

Load a PdfMemDocument from a buffer in memory

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.75 PoDoFo::PdfMemDocument Class Reference 251

Parameters
pBuffer a memory area containing the PDF data
lLen length of the buffer

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword with the correct password in this case.

See also

SetPassword

10.75.3.36 void PoDoFo::PdfMemDocument::Load ( const PdfRefCountedInputDevice & rDevice )

Load a PdfMemDocument from a PdfRefCountedInputDevice


Parameters
rDevice the input device containing the PDF

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword with the correct password in this case.

See also

SetPassword

10.75.3.37 void PoDoFo::PdfMemDocument::RemovePdfExtension ( const char ∗ ns, pdf_int64 level )

Remove a vendor-specific extension to the current PDF version.


Parameters
ns namespace of the extension
level level of the extension

10.75.3.38 void PoDoFo::PdfMemDocument::SetEncrypted ( const std::string & userPassword, const std::string


& ownerPassword, int protection = PdfEncrypt::ePdfPermissions_Print | PdfEncrypt::e←-
PdfPermissions_Edit | PdfEncrypt::ePdfPermissions_Copy | PdfEncrypt::ePdf←-
Permissions_EditNotes | PdfEncrypt::ePdfPermissions_FillAndSign | PdfEncrypt←-
::ePdfPermissions_Accessible | PdfEncrypt::ePdfPermissions_DocAssembly | Pdf←-
Encrypt::ePdfPermissions_HighPrint, PdfEncrypt::EPdfEncryptAlgorithm eAlgorithm =
PdfEncrypt::ePdfEncryptAlgorithm_RC4V1, PdfEncrypt::EPdfKeyLength eKeyLength =
PdfEncrypt::ePdfKeyLength_40 )

Encrypt the document during writing.


Parameters
userPassword the user password (if empty the user does not have to enter a password to open the docu-
ment)
ownerPassword the owner password
protection several EPdfPermissions values or'ed together to set the users permissions for this document
eAlgorithm the revision of the encryption algorithm to be used

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


252 Class Documentation

eKeyLength the length of the encryption key ranging from 40 to 256 bits (only used if eAlgorithm >=
ePdfEncryptAlgorithm_RC4V2)

See also

PdfEncrypt

10.75.3.39 void PoDoFo::PdfMemDocument::SetEncrypted ( const PdfEncrypt & pEncrypt )

Encrypt the document during writing using a PdfEncrypt object


Parameters
pEncrypt an encryption object that will be owned by PdfMemDocument

10.75.3.40 void PoDoFo::PdfMemDocument::SetPassword ( const std::string & sPassword )

If you try to open an encrypted PDF file, which requires a password to open, PoDoFo will throw a PdfError( ePdf←-
Error_InvalidPassword ) exception.
If you got such an exception, you have to set a password which should be used for opening the PDF.
The usual way will be to ask the user for the password and set the password using this method.
PdfParser will immediately continue to read the PDF file.
Parameters
sPassword a user or owner password which can be used to open an encrypted PDF file If the password
is invalid, a PdfError( ePdfError_InvalidPassword ) exception is thrown!

10.75.3.41 void PoDoFo::PdfMemDocument::SetPdfVersion ( EPdfVersion eVersion ) [inline]

Set the PDF Version of the document. Has to be called before Write() to have an effect.
Parameters
eVersion version of the pdf document

10.75.3.42 void PoDoFo::PdfMemDocument::SetWriteMode ( EPdfWriteMode eWriteMode ) [inline]

Set the write mode to use when writing the PDF.


Parameters
eWriteMode write mode

10.75.3.43 void PoDoFo::PdfMemDocument::Write ( const char ∗ pszFilename )

Writes the complete document to a file


Parameters
pszFilename filename of the document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.76 PoDoFo::PdfMemoryInputStream Class Reference 253

See also

Write

This is an overloaded member function for your convinience. TODO: We will get problems here on linux, if we write
to the same filename we read the document from. Because the PdfParserObjects will read there streams data from
the file while we are writing it. The problem is that the stream data won't exist at this time as we truncated the file
already to zero length by opening it writeable.

10.75.3.44 void PoDoFo::PdfMemDocument::Write ( PdfOutputDevice ∗ pDevice )

Writes the complete document to an output device


Parameters
pDevice write to this output device

TODO: We will get problems here on linux, if we write to the same filename we read the document from. Because
the PdfParserObjects will read there streams data from the file while we are writing it. The problem is that the
stream data won't exist at this time as we truncated the file already to zero length by opening it writeable.

10.76 PoDoFo::PdfMemoryInputStream Class Reference

#include <PdfInputStream.h>
Inheritance diagram for PoDoFo::PdfMemoryInputStream:

PoDoFo::PdfInputStream

PoDoFo::PdfMemoryInputStream

Public Member Functions

• PdfMemoryInputStream (const char ∗pBuffer, pdf_long lBufferLen)


• virtual pdf_long Read (char ∗pBuffer, pdf_long lLen, pdf_long ∗)

10.76.1 Detailed Description

An input stream that reads data from a memory buffer

10.76.2 Constructor & Destructor Documentation

10.76.2.1 PoDoFo::PdfMemoryInputStream::PdfMemoryInputStream ( const char ∗ pBuffer, pdf_long lBufferLen )

Open a file for reading data


Parameters
pBuffer buffer to read from
lBufferLen length of the buffer

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


254 Class Documentation

10.76.3 Member Function Documentation

10.76.3.1 pdf_long PoDoFo::PdfMemoryInputStream::Read ( char ∗ pBuffer, pdf_long lLen, pdf_long ∗ ) [virtual]

Read data from the input stream

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.77 PoDoFo::PdfMemoryOutputStream Class Reference 255

Parameters
pBuffer the data will be stored into this buffer
lLen the size of the buffer and number of bytes that will be read

Returns

the number of bytes read, -1 if an error ocurred and zero if no more bytes are available for reading.

Implements PoDoFo::PdfInputStream.

10.77 PoDoFo::PdfMemoryOutputStream Class Reference

#include <PdfOutputStream.h>
Inheritance diagram for PoDoFo::PdfMemoryOutputStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfMemoryOutputStream

Public Member Functions

• PdfMemoryOutputStream (pdf_long lInitial=INITIAL_SIZE)


• PdfMemoryOutputStream (char ∗pBuffer, pdf_long lLen)
• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)
• virtual void Close ()
• pdf_long GetLength () const
• char ∗ TakeBuffer ()

10.77.1 Detailed Description

An output stream that writes data to a memory buffer If the buffer is to small, it will be enlarged automatically.
DS: TODO: remove in favour of PdfBufferOutputStream.

10.77.2 Constructor & Destructor Documentation

10.77.2.1 PoDoFo::PdfMemoryOutputStream::PdfMemoryOutputStream ( pdf_long lInitial = INITIAL_SIZE )

Construct a new PdfMemoryOutputStream


Parameters
lInitial initial size of the buffer

10.77.2.2 PoDoFo::PdfMemoryOutputStream::PdfMemoryOutputStream ( char ∗ pBuffer, pdf_long lLen )

Construct a new PdfMemoryOutputStream that writes to an existing buffer

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


256 Class Documentation

Parameters
pBuffer handle to the buffer
lLen length of the buffer

10.77.3 Member Function Documentation

10.77.3.1 virtual void PoDoFo::PdfMemoryOutputStream::Close ( ) [inline], [virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implements PoDoFo::PdfOutputStream.

10.77.3.2 pdf_long PoDoFo::PdfMemoryOutputStream::GetLength ( ) const [inline]

Returns

the length of the written data

10.77.3.3 char ∗ PoDoFo::PdfMemoryOutputStream::TakeBuffer ( ) [inline]

Returns

a handle to the internal buffer.

The internal buffer is now owned by the caller and will not be deleted by PdfMemoryOutputStream. Further calls to
Write() are not allowed.
The caller has to free() the returned malloc()'ed buffer!

10.77.3.4 pdf_long PoDoFo::PdfMemoryOutputStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Returns

the number of bytes written, -1 if an error ocurred

Implements PoDoFo::PdfOutputStream.

10.78 PoDoFo::PdfMemStream Class Reference

#include <PdfMemStream.h>
Inheritance diagram for PoDoFo::PdfMemStream:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.78 PoDoFo::PdfMemStream Class Reference 257

PoDoFo::PdfStream

PoDoFo::PdfMemStream

Public Member Functions

• PdfMemStream (PdfObject ∗pParent)


• PdfMemStream (const PdfMemStream &rhs)
• virtual void Write (PdfOutputDevice ∗pDevice, PdfEncrypt ∗pEncrypt=NULL)
• virtual void GetCopy (char ∗∗pBuffer, pdf_long ∗lLen) const
• virtual void GetCopy (PdfOutputStream ∗pStream) const
• const char ∗ Get () const
• virtual pdf_long GetLength () const
• void FlateCompress ()
• void Uncompress ()
• void Empty ()
• const PdfStream & operator= (const PdfStream &rhs)

Protected Member Functions

• virtual const char ∗ GetInternalBuffer () const


• virtual pdf_long GetInternalBufferSize () const
• virtual void BeginAppendImpl (const TVecFilters &vecFilters)
• virtual void AppendImpl (const char ∗pszString, size_t lLen)
• virtual void EndAppendImpl ()

10.78.1 Detailed Description

A PDF stream can be appended to any PdfObject and can contain abitrary data.
A PDF memory stream is held completely in memory.
Most of the time it will contain either drawing commands to draw onto a page or binary data like a font or an image.
A PdfMemStream is implicitly shared and can therefore be copied very quickly.

10.78.2 Constructor & Destructor Documentation

10.78.2.1 PoDoFo::PdfMemStream::PdfMemStream ( PdfObject ∗ pParent )

Create a new PdfStream object which has a parent PdfObject. The stream will be deleted along with the parent.
This constructor will be called by PdfObject::Stream() for you.
Parameters
pParent parent object

10.78.2.2 PoDoFo::PdfMemStream::PdfMemStream ( const PdfMemStream & rhs )

Create a shallow copy of a PdfStream object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


258 Class Documentation

Parameters
rhs the object to clone

10.78.3 Member Function Documentation

10.78.3.1 void PoDoFo::PdfMemStream::AppendImpl ( const char ∗ pszString, size_t lLen ) [protected],


[virtual]

Append a binary buffer to the current stream contents.


Parameters
pszString a buffer
lLen length of the buffer

See also

BeginAppend
Append
EndAppend

Implements PoDoFo::PdfStream.

10.78.3.2 void PoDoFo::PdfMemStream::BeginAppendImpl ( const TVecFilters & vecFilters ) [protected],


[virtual]

Begin appending data to this stream. Clears the current stream contents.
Parameters
vecFilters use this filters to encode any data written to the stream.

Implements PoDoFo::PdfStream.

10.78.3.3 void PoDoFo::PdfMemStream::Empty ( )

Empty's the stream and set the streams buffer size to 0

10.78.3.4 void PoDoFo::PdfMemStream::EndAppendImpl ( ) [protected], [virtual]

Finish appending data to the stream


Implements PoDoFo::PdfStream.

10.78.3.5 void PoDoFo::PdfMemStream::FlateCompress ( )

This function compresses any currently set stream using the FlateDecode(ZIP) algorithm. JPEG compressed
streams will not be compressed again using this function. Entries to the filter dictionary will be added if neces-
sary.

10.78.3.6 const char ∗ PoDoFo::PdfMemStream::Get ( ) const [inline]

Get a read-only handle to the current stream data. The data will not be filtered before being returned, so (eg) calling
Get() on a Flate compressed stream will return a pointer to the Flate-compressed buffer.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.78 PoDoFo::PdfMemStream Class Reference 259

Warning

Do not retain pointers to the stream's internal buffer, as it may be reallocated with any non-const operation.

Returns

a read-only handle to the streams data

10.78.3.7 void PoDoFo::PdfMemStream::GetCopy ( char ∗∗ pBuffer, pdf_long ∗ lLen ) const [virtual]

Get a malloced buffer of the current stream. No filters will be applied to the buffer, so if the stream is Flate com-
pressed the compressed copy will be returned.
The caller has to podofo_free() the buffer.
Parameters
pBuffer pointer to where the buffer's address will be stored
lLen pointer to the buffer length (output parameter)

Implements PoDoFo::PdfStream.

10.78.3.8 void PoDoFo::PdfMemStream::GetCopy ( PdfOutputStream ∗ pStream ) const [virtual]

Get a copy of a the stream and write it to a PdfOutputStream


Parameters
pStream data is written to this stream.

Implements PoDoFo::PdfStream.

10.78.3.9 const char ∗ PoDoFo::PdfMemStream::GetInternalBuffer ( ) const [inline], [protected],


[virtual]

Required for the GetFilteredCopy implementation

Returns

a handle to the internal buffer

Implements PoDoFo::PdfStream.

10.78.3.10 pdf_long PoDoFo::PdfMemStream::GetInternalBufferSize ( ) const [inline], [protected],


[virtual]

Required for the GetFilteredCopy implementation

Returns

the size of the internal buffer

Implements PoDoFo::PdfStream.

10.78.3.11 pdf_long PoDoFo::PdfMemStream::GetLength ( ) const [virtual]

Get the stream's length. The length is that of the internal stream buffer, so (eg) for a Flate-compressed stream it will
be the length of the compressed data.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


260 Class Documentation

Returns

the length of the internal buffer

See also

Get()

Implements PoDoFo::PdfStream.

10.78.3.12 const PdfStream & PoDoFo::PdfMemStream::operator= ( const PdfStream & rhs )

Create a copy of a PdfStream object


Parameters
rhs the object to clone

Returns

a reference to this object

10.78.3.13 void PoDoFo::PdfMemStream::Uncompress ( )

This method removes all filters from the stream

10.78.3.14 void PoDoFo::PdfMemStream::Write ( PdfOutputDevice ∗ pDevice, PdfEncrypt ∗ pEncrypt = NULL )


[virtual]

Write the stream to an output device


Parameters
pDevice write to this outputdevice.
pEncrypt encrypt stream data using this object

Implements PoDoFo::PdfStream.

10.79 PoDoFo::Util::PdfMutexImpl Class Reference

#include <PdfMutexImpl_win32.h>

Public Member Functions

• PdfMutexImpl ()
• void Lock ()
• bool TryLock ()
• void UnLock ()
• void Lock ()
• bool TryLock ()
• void UnLock ()
• PdfMutexImpl ()
• void Lock ()
• bool TryLock ()
• void UnLock ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.79 PoDoFo::Util::PdfMutexImpl Class Reference 261

10.79.1 Detailed Description

A platform independent non-reentrant mutex, no-op implementation. This version is used if PoDoFo is built without
threading support.
PdfMutex is NOT part of PoDoFo's public API.
A platform independent reentrant mutex, pthread implementation.
PdfMutex is NOT part of PoDoFo's public API.
This is the pthread implementation, which is entirely inline.
A platform independent reentrant mutex, win32 implementation.

10.79.2 Constructor & Destructor Documentation

10.79.2.1 PoDoFo::Util::PdfMutexImpl::PdfMutexImpl ( ) [inline]

Construct a new mutex

10.79.2.2 PoDoFo::Util::PdfMutexImpl::PdfMutexImpl ( ) [inline]

Construct a new mutex

10.79.3 Member Function Documentation

10.79.3.1 void PoDoFo::Util::PdfMutexImpl::Lock ( ) [inline]

Lock the mutex

10.79.3.2 void PoDoFo::Util::PdfMutexImpl::Lock ( ) [inline]

Lock the mutex

10.79.3.3 void PoDoFo::Util::PdfMutexImpl::Lock ( ) [inline]

Lock the mutex

10.79.3.4 bool PoDoFo::Util::PdfMutexImpl::TryLock ( ) [inline]

Try locking the mutex.

Returns

true if the mutex was locked


false if the mutex is already locked by some other thread

10.79.3.5 bool PoDoFo::Util::PdfMutexImpl::TryLock ( ) [inline]

Try locking the mutex.

Returns

true if the mutex was locked


false if the mutex is already locked by some other thread

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


262 Class Documentation

10.79.3.6 bool PoDoFo::Util::PdfMutexImpl::TryLock ( ) [inline]

Try locking the mutex.

Returns

true if the mutex was locked


false if the mutex is already locked by some other thread

10.79.3.7 void PoDoFo::Util::PdfMutexImpl::UnLock ( ) [inline]

Unlock the mutex

10.79.3.8 void PoDoFo::Util::PdfMutexImpl::UnLock ( ) [inline]

Unlock the mutex

10.79.3.9 void PoDoFo::Util::PdfMutexImpl::UnLock ( ) [inline]

Unlock the mutex

10.80 PoDoFo::Util::PdfMutexWrapper Class Reference

#include <PdfMutexWrapper.h>

Public Member Functions

• PODOFO_NOTHROW PdfMutexWrapper (PdfMutex &rMutex)


• ∼PdfMutexWrapper ()

10.80.1 Detailed Description

A wrapper around PdfMutex. The mutex is locked in the constructor and unlocked in the destructor.
In debug builds all exceptions thrown by the mutex implementation are caught and logged before being rethrown.
Note that PdfMutexWrapper is not part of PoDoFo's public API.

10.80.2 Constructor & Destructor Documentation

10.80.2.1 PoDoFo::Util::PdfMutexWrapper::PdfMutexWrapper ( PdfMutex & rMutex ) [inline]

Lock a mutex.
Parameters
rMutex the mutex to be locked.

10.80.2.2 PoDoFo::Util::PdfMutexWrapper::∼PdfMutexWrapper ( ) [inline]

Unlocks the mutex on destruction

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.81 PoDoFo::PdfName Class Reference 263

10.81 PoDoFo::PdfName Class Reference

#include <PdfName.h>
Inheritance diagram for PoDoFo::PdfName:

PoDoFo::PdfDataType

PoDoFo::PdfName

Public Member Functions

• PdfName ()
• PdfName (const std::string &sName)
• PdfName (const char ∗pszName)
• PdfName (const char ∗pszName, long lLen)
• std::string GetEscapedName () const
• PdfName (const PdfName &rhs)
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• PODOFO_NOTHROW const std::string & GetName () const
• PODOFO_NOTHROW size_t GetLength () const
• PODOFO_NOTHROW const PdfName & operator= (const PdfName &rhs)
• PODOFO_NOTHROW bool operator== (const PdfName &rhs) const
• bool operator== (const char ∗rhs) const
• PODOFO_NOTHROW bool operator== (const std::string &rhs) const
• PODOFO_NOTHROW bool operator!= (const PdfName &rhs) const
• bool operator!= (const char ∗rhs) const
• PODOFO_NOTHROW bool operator< (const PdfName &rhs) const

Static Public Member Functions

• static PdfName FromEscaped (const std::string &sName)


• static PdfName FromEscaped (const char ∗pszName, pdf_long ilength=0)

Additional Inherited Members

10.81.1 Detailed Description

This class represents a PdfName. Whenever a key is required you have to use a PdfName object.
PdfName are required as keys in PdfObject and PdfVariant objects.
PdfName may have a maximum length of 127 characters.

See also

PdfObject
PdfVariant

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


264 Class Documentation

10.81.2 Constructor & Destructor Documentation

10.81.2.1 PoDoFo::PdfName::PdfName ( ) [inline]

Constructor to create NULL strings. use PdfName::KeyNull instead of this constructor

10.81.2.2 PoDoFo::PdfName::PdfName ( const std::string & sName ) [inline]

Create a new PdfName object.


Parameters
sName the unescaped value of this name. Please specify the name without the leading '/'.

10.81.2.3 PoDoFo::PdfName::PdfName ( const char ∗ pszName ) [inline]

Create a new PdfName object.


Parameters
pszName the unescaped value of this name. Please specify the name without the leading '/'. Has to be
a zero terminated string.

10.81.2.4 PoDoFo::PdfName::PdfName ( const char ∗ pszName, long lLen ) [inline]

Create a new PdfName object.


Parameters
pszName the unescaped value of this name. Please specify the name without the leading '/'.
lLen length of the name

10.81.2.5 PoDoFo::PdfName::PdfName ( const PdfName & rhs ) [inline]

Create a copy of an existing PdfName object.


Parameters
rhs another PdfName object

10.81.3 Member Function Documentation

10.81.3.1 PdfName PoDoFo::PdfName::FromEscaped ( const std::string & sName ) [static]

Create a new PdfName object from a string containing an escaped name string without the leading / .
Parameters
sName A string containing the escaped name

Returns

A new PdfName

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.81 PoDoFo::PdfName Class Reference 265

10.81.3.2 PdfName PoDoFo::PdfName::FromEscaped ( const char ∗ pszName, pdf_long ilength = 0 ) [static]

Create a new PdfName object from a string containing an escaped name string without the leading / .

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


266 Class Documentation

Parameters
pszName A string containing the escaped name
ilength length of the escaped string data. If a length of 0 is passed, the string data is expected to be
a zero terminated string.

Returns

A new PdfName

10.81.3.3 std::string PoDoFo::PdfName::GetEscapedName ( ) const

Returns

an escaped representation of this name without the leading / .

There is no corresponding GetEscapedLength(), since generating the return value is somewhat expensive.

10.81.3.4 size_t PoDoFo::PdfName::GetLength ( ) const [inline]

Returns

the unescaped length of this name object

10.81.3.5 const std::string & PoDoFo::PdfName::GetName ( ) const [inline]

Returns

the unescaped value of this name object without the leading slash

10.81.3.6 bool PoDoFo::PdfName::operator!= ( const PdfName & rhs ) const [inline]

compare two PdfName objects.

Returns

true if both PdfNames have different values.

10.81.3.7 bool PoDoFo::PdfName::operator!= ( const char ∗ rhs ) const [inline]

overloaded operator for convinience


The string argument is treated as an unescaped name.
Parameters
rhs a name

Returns

true if this objects name is not equal to pszName

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.81 PoDoFo::PdfName Class Reference 267

10.81.3.8 bool PoDoFo::PdfName::operator< ( const PdfName & rhs ) const [inline]

compare two PdfName objects. Used for sorting in lists

Returns

true if this object is smaller than rhs

10.81.3.9 const PdfName & PoDoFo::PdfName::operator= ( const PdfName & rhs ) [inline]

Assign another name to this object


Parameters
rhs another PdfName object

10.81.3.10 bool PoDoFo::PdfName::operator== ( const PdfName & rhs ) const [inline]

compare to PdfName objects.

Returns

true if both PdfNames have the same value.

10.81.3.11 bool PoDoFo::PdfName::operator== ( const char ∗ rhs ) const

overloaded operator for convinience


The string argument is treated as an unescaped name.
Parameters
rhs a name

Returns

true if this objects name is equal to pszName

10.81.3.12 bool PoDoFo::PdfName::operator== ( const std::string & rhs ) const [inline]

overloaded operator for convinience


The string argument is treated as an unescaped name.
Parameters
rhs a name

Returns

true if this objects name is equal to pszName

10.81.3.13 void PoDoFo::PdfName::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const [virtual]

Write the name to an output device in PDF format. This is an overloaded member function.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


268 Class Documentation

Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implements PoDoFo::PdfDataType.

10.82 PoDoFo::PdfNamedColor Class Reference

Public Member Functions

• PdfNamedColor (const char ∗pszName, const PdfColor &rColor)


• PdfNamedColor (const char ∗pszName, const char ∗rColorName)
• PdfNamedColor (const PdfNamedColor &rhs)
• ∼PdfNamedColor ()
• bool operator< (const char ∗pszName) const
• bool operator< (const PdfNamedColor &rhs) const
• bool operator== (const char ∗pszName) const
• const PdfColor & GetColor () const
• const char ∗ GetName () const

10.82.1 Detailed Description

A PdfNamedColor holds a PdfColor object and a name.

10.82.2 Constructor & Destructor Documentation

10.82.2.1 PoDoFo::PdfNamedColor::PdfNamedColor ( const char ∗ pszName, const PdfColor & rColor ) [inline]

Create a PdfNamedColor object.


Parameters
pszName the name. The string must be allocated as static memory somewhere The string data will not
be copied!
rColor a PdfColor object

10.82.2.2 PoDoFo::PdfNamedColor::PdfNamedColor ( const char ∗ pszName, const char ∗ rColorName ) [inline]

Create a PdfNamedColor object.


Parameters
pszName the name. The string must be allocated as static memory somewhere The string data will not
be copied!
rColorName RGB hex value (e.g. #FFABCD)

10.82.2.3 PoDoFo::PdfNamedColor::PdfNamedColor ( const PdfNamedColor & rhs ) [inline]

Copy constructor

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.83 PoDoFo::PdfObject Class Reference 269

10.82.2.4 PoDoFo::PdfNamedColor::∼PdfNamedColor ( ) [inline]

Class destructor.

10.82.3 Member Function Documentation

10.82.3.1 const PdfColor& PoDoFo::PdfNamedColor::GetColor ( ) const [inline]

Returns

a reference to the internal color object

10.82.3.2 const char∗ PoDoFo::PdfNamedColor::GetName ( ) const [inline]

Returns

a pointer to the name of the color

10.82.3.3 bool PoDoFo::PdfNamedColor::operator< ( const char ∗ pszName ) const [inline]

Compare this color object to a name The comparison is case insensitive!

Returns

true if the passed string is smaller than the name of this color object.

10.82.3.4 bool PoDoFo::PdfNamedColor::operator< ( const PdfNamedColor & rhs ) const [inline]

Compare this color object to a PdfNamedColor comparing only the name. The comparison is case insensitive!

Returns

true if the passed string is smaller than the name of this color object.

10.82.3.5 bool PoDoFo::PdfNamedColor::operator== ( const char ∗ pszName ) const [inline]

Compare this color object to a name The comparison is case insensitive!

Returns

true if the passed string is the name of this color object.

10.83 PoDoFo::PdfObject Class Reference

#include <PdfObject.h>
Inheritance diagram for PoDoFo::PdfObject:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


270 Class Documentation

PoDoFo::PdfVariant

PoDoFo::PdfObject

PoDoFo::PdfParserObject

PoDoFo::PdfXRefStreamParserObject

Public Member Functions

• PdfObject ()
• PdfObject (const PdfReference &rRef, const char ∗pszType)
• PdfObject (const PdfReference &rRef, const PdfVariant &rVariant)
• PdfObject (const PdfVariant &var)
• PdfObject (bool b)
• PdfObject (pdf_int64 l)
• PdfObject (double d)
• PdfObject (const PdfString &rsString)
• PdfObject (const PdfName &rName)
• PdfObject (const PdfReference &rRef)
• PdfObject (const PdfArray &tList)
• PdfObject (const PdfDictionary &rDict)
• PdfObject (const PdfObject &rhs)
• PdfObject ∗ GetIndirectKey (const PdfName &key) const
• PdfObject ∗ MustGetIndirectKey (const PdfName &key) const
• void WriteObject (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, PdfEncrypt ∗pEncrypt, const
PdfName &keyStop=PdfName::KeyNull) const
• pdf_long GetObjectLength (EPdfWriteMode eWriteMode)
• const PdfReference & Reference () const
• PdfStream ∗ GetStream ()
• const PdfStream ∗ GetStream () const
• bool HasStream () const
• PODOFO_NOTHROW bool operator< (const PdfObject &rhs) const
• PODOFO_NOTHROW bool operator== (const PdfObject &rhs) const
• void SetOwner (PdfVecObjects ∗pVecObjects)
• PdfVecObjects ∗ GetOwner () const
• const PdfObject & operator= (const PdfObject &rhs)
• void FlateCompressStream ()
• pdf_long GetByteOffset (const char ∗pszKey, EPdfWriteMode eWriteMode)
• void DelayedStreamLoad () const

Protected Member Functions

• void EnableDelayedStreamLoading ()
• virtual void DelayedStreamLoadImpl ()
• PdfStream ∗ GetStream_NoDL ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.83 PoDoFo::PdfObject Class Reference 271

10.83.1 Detailed Description

This class represents a PDF indirect Object in memory


It is possible to manipulate the stream which can be appended to the object (if the object is of underlying type
dictionary). A PdfObject is uniquely identified by an object number and a generation number which has to be
passed to the constructor.
The object can be written to a file easily using the WriteObject() function.

See also

WriteObject()

10.83.2 Constructor & Destructor Documentation

10.83.2.1 PoDoFo::PdfObject::PdfObject ( )

Create a PDF object with object and generation number -1 and the value of being an empty PdfDictionary.

10.83.2.2 PoDoFo::PdfObject::PdfObject ( const PdfReference & rRef, const char ∗ pszType )

Construct a new PDF object of type PdfDictionary.


Parameters
rRef reference of this object
pszType if type is not null a key "/Type" will be added to the dictionary with the value of type.

10.83.2.3 PoDoFo::PdfObject::PdfObject ( const PdfReference & rRef, const PdfVariant & rVariant )

Construct a new PDF object.


Parameters
rRef reference of this object
rVariant the value of the PdfObject (which is copied)

10.83.2.4 PoDoFo::PdfObject::PdfObject ( const PdfVariant & var )

Create a PDF object with object and generation number -1 and the value of the passed variant.
Parameters
var the value of the object

10.83.2.5 PoDoFo::PdfObject::PdfObject ( bool b )

Construct a PdfObject with object and generation number -1 and a bool as value.
Parameters
b the boolean value of this PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


272 Class Documentation

10.83.2.6 PoDoFo::PdfObject::PdfObject ( pdf_int64 l )

Construct a PdfObject with object and generation number -1 and a pdf_int64 as value.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.83 PoDoFo::PdfObject Class Reference 273

Parameters
l the pdf_int64 value of this PdfObject

10.83.2.7 PoDoFo::PdfObject::PdfObject ( double d )

Construct a PdfObject with object and generation number -1 and a double as value.
Parameters
d the double value of this PdfObject

10.83.2.8 PoDoFo::PdfObject::PdfObject ( const PdfString & rsString )

Construct a PdfObject with object and generation number -1 and a PdfString as value.
Parameters
rsString the string value of this PdfObject

10.83.2.9 PoDoFo::PdfObject::PdfObject ( const PdfName & rName )

Construct a PdfObject with object and generation number -1 and a PdfName as value.
Parameters
rName the value of this PdfObject

10.83.2.10 PoDoFo::PdfObject::PdfObject ( const PdfReference & rRef )

Construct a PdfObject with object and generation number -1 and a PdfReference as value.
Parameters
rRef the value of the this PdfObject

10.83.2.11 PoDoFo::PdfObject::PdfObject ( const PdfArray & tList )

Construct a PdfObject with object and generation number -1 and a PdfArray as value.
Parameters
tList the value of the this PdfObject

10.83.2.12 PoDoFo::PdfObject::PdfObject ( const PdfDictionary & rDict )

Construct a PdfObject with object and generation number -1 and a PdfDictionary as value.
Parameters
rDict the value of the this PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


274 Class Documentation

10.83.2.13 PoDoFo::PdfObject::PdfObject ( const PdfObject & rhs )

Creates a copy of an existing PdfObject All assosiated objects and streams will be copied along with the PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.83 PoDoFo::PdfObject Class Reference 275

Parameters
rhs PdfObject to clone

10.83.3 Member Function Documentation

10.83.3.1 void PoDoFo::PdfObject::DelayedStreamLoad ( ) const [inline]

Dynamically load this object and any associated stream from a PDF file by calling the virtual method Delayed←-
StreamLoadImpl if the stream is not already loaded. Will call DelayedLoad() first if it is required.
Call graph:
DelayedStreamLoad —> DelayedLoad() –> DelayedLoadImpl() | –> DelayedStreamLoadImpl()
For objects complete created in memory this function does nothing.

10.83.3.2 void PoDoFo::PdfObject::DelayedStreamLoadImpl ( ) [inline], [protected], [virtual]

Load the stream of the object if it has one and if delayed loading is enabled.
You should override this to control deferred stream loading in your subclass.
Never call this method directly; use DelayedStreamLoad() instead.
Reimplemented in PoDoFo::PdfParserObject.

10.83.3.3 void PoDoFo::PdfObject::EnableDelayedStreamLoading ( ) [inline], [protected]

Flag any stream associated with the object as incompletely loaded, so that DelayedStreamLoad() will be called
when needed.
All constructors initialize a PdfObject with delayed loading of streams disabled . If you want delayed loading of
streams you must ask for it. If you do so, call this method early in your ctor and be sure to override Delayed←-
StreamLoadImpl()
Note that it is quite possible to have a PdfObject that requires a delayed-load of its stream but does an immediate
load of the PdfVariant base. If you want to delay loading of that too, make sure to call EnableDelayedLoading().

10.83.3.4 void PoDoFo::PdfObject::FlateCompressStream ( )

This function compresses any currently set stream using the FlateDecode algorithm. JPEG compressed streams
will not be compressed again using this function. Entries to the filter dictionary will be added if necessary.

10.83.3.5 pdf_long PoDoFo::PdfObject::GetByteOffset ( const char ∗ pszKey, EPdfWriteMode eWriteMode )

Calculate the byte offset of the key pszKey from the start of the object if the object was written to disk at the moment
of calling this function.
This function is very calculation intensive!
Parameters
pszKey key to calculate the byte offset
eWriteMode additional options for writing the PDF

Returns

the offset of the key

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


276 Class Documentation

10.83.3.6 PdfObject ∗ PoDoFo::PdfObject::GetIndirectKey ( const PdfName & key ) const

Get the keys value out of the dictionary. If the key is a reference, the reference is resolved and the object pointed to
by the reference is returned.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.83 PoDoFo::PdfObject Class Reference 277

Parameters
key look for the key named key in the dictionary

Returns

the found value or NULL if the value is not in the dictionary or if this object is no dictionary

10.83.3.7 pdf_long PoDoFo::PdfObject::GetObjectLength ( EPdfWriteMode eWriteMode )

Get the length of the object in bytes if it was written to disk now.
Parameters
eWriteMode additional options for writing the object

Returns

the length of the object

10.83.3.8 PdfVecObjects ∗ PoDoFo::PdfObject::GetOwner ( ) const [inline]

Get the owner of this object.

Returns

the creator of this object

10.83.3.9 PdfStream ∗ PoDoFo::PdfObject::GetStream ( )

Get a handle to a PDF stream object If the PDF object does not have a stream, one will be created.

Returns

a PdfStream object

This will set the dirty flag of this object.

See also

IsDirty

10.83.3.10 const PdfStream ∗ PoDoFo::PdfObject::GetStream ( ) const

Get a handle to a const PDF stream object If the PDF object does not have a stream, null is returned

Returns

a PdfStream object or null

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


278 Class Documentation

10.83.3.11 PdfStream ∗ PoDoFo::PdfObject::GetStream_NoDL ( ) [protected]

Same as GetStream() but won't trigger a delayed load, so it's safe for use while a delayed load is in progress.
This will set the dirty flag of this object.

See also

IsDirty

10.83.3.12 bool PoDoFo::PdfObject::HasStream ( ) const [inline]

Check if this object has a PdfStream object appended.

Returns

true if the object has a stream

10.83.3.13 PdfObject ∗ PoDoFo::PdfObject::MustGetIndirectKey ( const PdfName & key ) const [inline]

MustGetIndirectKey() wraps GetIndirectKey to throw on null return. This makes it MUCH more readable to look up
deep chains of linked keys with the cost that it's not easy to tell at which point a missing key/object was encountered.

Returns

the found value, which is never null

Exceptions
PdfError(ePdfError_No←- .
Object)

10.83.3.14 bool PoDoFo::PdfObject::operator< ( const PdfObject & rhs ) const [inline]

This operator is required for sorting a list of PdfObjects. It compares the objectnumber. If objectnumbers are equal,
the generation number is compared.

10.83.3.15 const PdfObject & PoDoFo::PdfObject::operator= ( const PdfObject & rhs )

Creates a copy of an existing PdfObject All assosiated objects and streams will be copied along with the PdfObject
Parameters
rhs PdfObject to clone

Returns

a reference to this object

10.83.3.16 bool PoDoFo::PdfObject::operator== ( const PdfObject & rhs ) const [inline]

Comperasion operator. Compares two PDF object only based on their object and generation number

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.84 PoDoFo::PdfObjectStreamParserObject Class Reference 279

10.83.3.17 const PdfReference & PoDoFo::PdfObject::Reference ( ) const [inline]

Get a indirect reference to this object

Returns

a PdfReference pointing to this object.

10.83.3.18 void PoDoFo::PdfObject::SetOwner ( PdfVecObjects ∗ pVecObjects ) [inline]

Set the owner of this object, i.e. the PdfVecObjects to which this object belongs.
Parameters
pVecObjects a vector of pdf objects

10.83.3.19 void PoDoFo::PdfObject::WriteObject ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode,


PdfEncrypt ∗ pEncrypt, const PdfName & keyStop = PdfName::KeyNull ) const

Write the complete object to a file.


Parameters
pDevice write the object to this device
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object
eWriteMode additional options for writing the object
keyStop if not KeyNull and a key == keyStop is found writing will stop right before this key!

10.84 PoDoFo::PdfObjectStreamParserObject Class Reference

#include <PdfObjectStreamParserObject.h>

Public Member Functions

• PdfObjectStreamParserObject (PdfParserObject ∗pParser, PdfVecObjects ∗pVecObjects, const PdfRef←-


CountedBuffer &rBuffer, PdfEncrypt ∗pEncrypt)

10.84.1 Detailed Description

A utility class for PdfParser that can parse an object stream object.
It is mainly here to make PdfParser more modular.

10.84.2 Constructor & Destructor Documentation

10.84.2.1 PoDoFo::PdfObjectStreamParserObject::PdfObjectStreamParserObject ( PdfParserObject ∗ pParser,


PdfVecObjects ∗ pVecObjects, const PdfRefCountedBuffer & rBuffer, PdfEncrypt ∗ pEncrypt )

Create a new PdfObjectStreamParserObject from an existing PdfParserObject. The PdfParserObject will be re-
moved and deleted. All objects from the object stream will be read into memory.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


280 Class Documentation

Parameters
pParser PdfParserObject for an object stream
pVecObjects add loaded objecs to this vector of objects
rBuffer use this allocated buffer for caching
pEncrypt encryption object used to decrypt streams

10.85 PoDoFo::PdfOutlineItem Class Reference

#include <PdfOutlines.h>
Inheritance diagram for PoDoFo::PdfOutlineItem:

PoDoFo::PdfElement

PoDoFo::PdfOutlineItem

PoDoFo::PdfOutlines

Public Member Functions

• PdfOutlineItem ∗ CreateChild (const PdfString &sTitle, const PdfDestination &rDest)


• PdfOutlineItem ∗ CreateNext (const PdfString &sTitle, const PdfDestination &rDest)
• PdfOutlineItem ∗ CreateNext (const PdfString &sTitle, const PdfAction &rAction)
• void InsertChild (PdfOutlineItem ∗pItem)
• PdfOutlineItem ∗ Prev () const
• PdfOutlineItem ∗ Next () const
• PdfOutlineItem ∗ First () const
• PdfOutlineItem ∗ Last () const
• PdfOutlineItem ∗ GetParentOutline () const
• void Erase ()
• void SetDestination (const PdfDestination &rDest)
• PdfDestination ∗ GetDestination (PdfDocument ∗pDoc)
• void SetAction (const PdfAction &rAction)
• PdfAction ∗ GetAction (void)
• void SetTitle (const PdfString &sTitle)
• const PdfString & GetTitle () const
• void SetTextFormat (EPdfOutlineFormat eFormat)
• EPdfOutlineFormat GetTextFormat () const
• void SetTextColor (double r, double g, double b)
• double GetTextColorRed () const
• double GetTextColorBlue () const
• double GetTextColorGreen () const

Protected Member Functions

• PdfOutlineItem (PdfVecObjects ∗pParent)


• PdfOutlineItem (const PdfString &sTitle, const PdfDestination &rDest, PdfOutlineItem ∗pParentOutline, Pdf←-
VecObjects ∗pParent)
• PdfOutlineItem (const PdfString &sTitle, const PdfAction &rAction, PdfOutlineItem ∗pParentOutline, PdfVec←-
Objects ∗pParent)
• PdfOutlineItem (PdfObject ∗pObject, PdfOutlineItem ∗pParentOutline, PdfOutlineItem ∗pPrevious)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.85 PoDoFo::PdfOutlineItem Class Reference 281

10.85.1 Detailed Description

A PDF outline item has an title and a destination. It is an element in the documents outline which shows its
hierarchical structure.

See also

PdfDocument
PdfOutlines
PdfDestination

10.85.2 Constructor & Destructor Documentation

10.85.2.1 PoDoFo::PdfOutlineItem::PdfOutlineItem ( PdfVecObjects ∗ pParent ) [protected]

Create a new PdfOutlineItem dictionary


Parameters
pParent parent vector of objects

10.85.2.2 PoDoFo::PdfOutlineItem::PdfOutlineItem ( const PdfString & sTitle, const PdfDestination & rDest,
PdfOutlineItem ∗ pParentOutline, PdfVecObjects ∗ pParent ) [protected]

Create a new PdfOutlineItem from scratch


Parameters
sTitle title of this item
rDest destination of this item
pParentOutline parent of this outline item in the outline item hierarchie
pParent parent vector of objects which is required to create new objects

10.85.2.3 PoDoFo::PdfOutlineItem::PdfOutlineItem ( const PdfString & sTitle, const PdfAction & rAction,
PdfOutlineItem ∗ pParentOutline, PdfVecObjects ∗ pParent ) [protected]

Create a new PdfOutlineItem from scratch


Parameters
sTitle title of this item
rAction action of this item
pParentOutline parent of this outline item in the outline item hierarchie
pParent parent vector of objects which is required to create new objects

10.85.2.4 PoDoFo::PdfOutlineItem::PdfOutlineItem ( PdfObject ∗ pObject, PdfOutlineItem ∗ pParentOutline,


PdfOutlineItem ∗ pPrevious ) [protected]

Create a PdfOutlineItem from an existing PdfObject


Parameters
pObject an existing outline item

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


282 Class Documentation

pParentOutline parent of this outline item in the outline item hierarchie


pPrevious previous item of this item

10.85.3 Member Function Documentation

10.85.3.1 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::CreateChild ( const PdfString & sTitle, const PdfDestination &
rDest )

Create a PdfOutlineItem that is a child of this item


Parameters
sTitle title of this item
rDest destination of this item

10.85.3.2 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::CreateNext ( const PdfString & sTitle, const PdfDestination &
rDest )

Create a PdfOutlineItem that is on the same level and follows the current item.
Parameters
sTitle title of this item
rDest destination of this item

10.85.3.3 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::CreateNext ( const PdfString & sTitle, const PdfAction & rAction )

Create a PdfOutlineItem that is on the same level and follows the current item.
Parameters
sTitle title of this item
rAction action of this item

10.85.3.4 void PoDoFo::PdfOutlineItem::Erase ( )

Deletes this outline item and all its children from the outline hierarchy and removes all objects from the list of
PdfObjects All pointers to this item will be invalid after this function call.

10.85.3.5 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::First ( ) const [inline]

Returns

the first outline item that is a child of this item

10.85.3.6 PdfAction ∗ PoDoFo::PdfOutlineItem::GetAction ( void )

Get the action of this outline.

Returns

the action, if there is one, or NULL

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.85 PoDoFo::PdfOutlineItem Class Reference 283

10.85.3.7 PdfDestination ∗ PoDoFo::PdfOutlineItem::GetDestination ( PdfDocument ∗ pDoc )

Get the destination of this outline.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


284 Class Documentation

Parameters
pDoc a PdfDocument owning this annotation. This is required to resolve names and pages.

Returns

the destination, if there is one, or NULL

10.85.3.8 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::GetParentOutline ( ) const [inline]

Returns

the parent item of this item or NULL if it is the top level outlines dictionary

10.85.3.9 double PoDoFo::PdfOutlineItem::GetTextColorBlue ( ) const

Get the color of the title of this item. Supported since PDF 1.4.

Returns

the red color component

See also

SetTextColor

10.85.3.10 double PoDoFo::PdfOutlineItem::GetTextColorGreen ( ) const

Get the color of the title of this item. Supported since PDF 1.4.

Returns

the red color component

See also

SetTextColor

10.85.3.11 double PoDoFo::PdfOutlineItem::GetTextColorRed ( ) const

Get the color of the title of this item. Supported since PDF 1.4.

Returns

the red color component

See also

SetTextColor

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.85 PoDoFo::PdfOutlineItem Class Reference 285

10.85.3.12 EPdfOutlineFormat PoDoFo::PdfOutlineItem::GetTextFormat ( ) const

Get the text format of the title

Returns

the text format of the title

10.85.3.13 const PdfString & PoDoFo::PdfOutlineItem::GetTitle ( ) const

Get the title of this item

Returns

the title as PdfString

10.85.3.14 void PoDoFo::PdfOutlineItem::InsertChild ( PdfOutlineItem ∗ pItem )

Inserts an existing PdfOutlineItem as a child of this outline item.


Parameters
pItem an existing outline item

10.85.3.15 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::Last ( ) const [inline]

Returns

the last outline item that is a child of this item

10.85.3.16 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::Next ( ) const [inline]

Returns

the next item or NULL if this is the last on the current level

10.85.3.17 PdfOutlineItem ∗ PoDoFo::PdfOutlineItem::Prev ( ) const [inline]

Returns

the previous item or NULL if this is the first on the current level

10.85.3.18 void PoDoFo::PdfOutlineItem::SetAction ( const PdfAction & rAction )

Set the action of this outline.


Parameters
rAction the action

10.85.3.19 void PoDoFo::PdfOutlineItem::SetDestination ( const PdfDestination & rDest )

Set the destination of this outline.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


286 Class Documentation

Parameters
rDest the destination

10.85.3.20 void PoDoFo::PdfOutlineItem::SetTextColor ( double r, double g, double b )

Set the color of the title of this item. This property is supported since PDF 1.4.
Parameters
r red color component
g green color component
b blue color component

10.85.3.21 void PoDoFo::PdfOutlineItem::SetTextFormat ( EPdfOutlineFormat eFormat )

Set the text format of the title. Supported since PDF 1.4.
Parameters
eFormat the formatting options for the title

10.85.3.22 void PoDoFo::PdfOutlineItem::SetTitle ( const PdfString & sTitle )

Set the title of this outline item


Parameters
sTitle the title to use

10.86 PoDoFo::PdfOutlines Class Reference

#include <PdfOutlines.h>
Inheritance diagram for PoDoFo::PdfOutlines:

PoDoFo::PdfElement

PoDoFo::PdfOutlineItem

PoDoFo::PdfOutlines

Public Member Functions

• PdfOutlines (PdfVecObjects ∗pParent)


• PdfOutlines (PdfObject ∗pObject)
• PdfOutlineItem ∗ CreateRoot (const PdfString &sTitle)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.87 PoDoFo::PdfOutputDevice Class Reference 287

Additional Inherited Members

10.86.1 Detailed Description

The main PDF outlines dictionary.


Do not create it by yourself but use PdfDocument::GetOutlines() instead.

See also

PdfDocument

10.86.2 Constructor & Destructor Documentation

10.86.2.1 PoDoFo::PdfOutlines::PdfOutlines ( PdfVecObjects ∗ pParent )

Create a new PDF outlines dictionary


Parameters
pParent parent vector of objects

10.86.2.2 PoDoFo::PdfOutlines::PdfOutlines ( PdfObject ∗ pObject )

Create a PDF outlines object from an existing dictionary


Parameters
pObject an existing outlines dictionary

10.86.3 Member Function Documentation

10.86.3.1 PdfOutlineItem ∗ PoDoFo::PdfOutlines::CreateRoot ( const PdfString & sTitle )

Create the root node of the outline item tree.


Parameters
sTitle the title of the root node

10.87 PoDoFo::PdfOutputDevice Class Reference

#include <PdfOutputDevice.h>
Inheritance diagram for PoDoFo::PdfOutputDevice:

PoDoFo::PdfOutputDevice

PoDoFo::PdfSignOutputDevice

Public Member Functions

• PdfOutputDevice ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


288 Class Documentation

• PdfOutputDevice (const char ∗pszFilename)


• PdfOutputDevice (char ∗pBuffer, size_t lLen)
• PdfOutputDevice (const std::ostream ∗pOutStream)
• PdfOutputDevice (PdfRefCountedBuffer ∗pOutBuffer)
• virtual ∼PdfOutputDevice ()
• virtual size_t GetLength () const
• virtual void Print (const char ∗pszFormat,...)
• virtual void PrintV (const char ∗pszFormat, long lBytes, va_list argptr)
• long PrintVLen (const char ∗pszFormat, va_list args)
• virtual void Write (const char ∗pBuffer, size_t lLen)
• virtual size_t Read (char ∗pBuffer, size_t lLen)
• virtual void Seek (size_t offset)
• virtual size_t Tell () const
• virtual void Flush ()

10.87.1 Detailed Description

This class provides an output device which operates either on a file or on a buffer in memory. Additionally it can
count the bytes written to the device.
This class is suitable for inheritance to provide output devices of your own for PoDoFo. Just overide the required
virtual methods.

10.87.2 Constructor & Destructor Documentation

10.87.2.1 PoDoFo::PdfOutputDevice::PdfOutputDevice ( )

Construct a new PdfOutputDevice that does not write any data. Only the length of the data is counted.

10.87.2.2 PoDoFo::PdfOutputDevice::PdfOutputDevice ( const char ∗ pszFilename )

Construct a new PdfOutputDevice that writes all data to a file.


Parameters
pszFilename path to a file that will be opened and all data is written to this file.

10.87.2.3 PoDoFo::PdfOutputDevice::PdfOutputDevice ( char ∗ pBuffer, size_t lLen )

Construct a new PdfOutputDevice that writes all data to a memory buffer. The buffer will not be owned by this object
and has to be allocated before.
Parameters
pBuffer a buffer in memory
lLen the length of the buffer in memory

10.87.2.4 PoDoFo::PdfOutputDevice::PdfOutputDevice ( const std::ostream ∗ pOutStream )

Construct a new PdfOutputDevice that writes all data to a std::ostream.


WARNING: PoDoFo will change the stream's locale. It will be restored when the PdfOutputStream controlling the
stream is destroyed.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.87 PoDoFo::PdfOutputDevice Class Reference 289

Parameters
pOutStream write to this std::ostream

10.87.2.5 PoDoFo::PdfOutputDevice::PdfOutputDevice ( PdfRefCountedBuffer ∗ pOutBuffer )

Construct a new PdfOutputDevice that writes all data to a PdfRefCountedBuffer. This output device has the advan-
tage that the PdfRefCountedBuffer will resize itself if more memory is needed to hold all data.
Parameters
pOutBuffer write to this PdfRefCountedBuffer

See also

PdfRefCountedBuffer

10.87.2.6 PoDoFo::PdfOutputDevice::∼PdfOutputDevice ( ) [virtual]

Destruct the PdfOutputDevice object and close any open files.

10.87.3 Member Function Documentation

10.87.3.1 void PoDoFo::PdfOutputDevice::Flush ( ) [virtual]

Flush the output files buffer to disk if this devices operates on a disk.
Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.2 size_t PoDoFo::PdfOutputDevice::GetLength ( ) const [inline], [virtual]

The number of bytes written to this object.

Returns

the number of bytes written to this object.

See also

Init

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.3 void PoDoFo::PdfOutputDevice::Print ( const char ∗ pszFormat, ... ) [virtual]

Write to the PdfOutputDevice. Usage is as the usage of printf.


WARNING: Do not use this for doubles or floating point values as the output might depend on the current locale.
Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


290 Class Documentation

pszFormat a format string as you would use it with printf

See also

Write

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.4 void PoDoFo::PdfOutputDevice::PrintV ( const char ∗ pszFormat, long lBytes, va_list argptr ) [virtual]

Write to the PdfOutputDevice. Usage is as the usage of printf.


WARNING: Do not use this for doubles or floating point values as the output might depend on the current locale.
Parameters
pszFormat a format string as you would use it with printf
lBytes length of the format string in bytes when written
argptr variable argument list

See also

Write

10.87.3.5 long PoDoFo::PdfOutputDevice::PrintVLen ( const char ∗ pszFormat, va_list args )

Determine the length of a format string in bytes when written using PrintV
Parameters
pszFormat format string
args variable argument list

Returns

length in bytes

See also

PrintV

10.87.3.6 size_t PoDoFo::PdfOutputDevice::Read ( char ∗ pBuffer, size_t lLen ) [virtual]

Read data from the device


Parameters
pBuffer a pointer to the data buffer
lLen length of the output buffer

Returns

Number of read bytes. Return 0 if EOF

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.7 void PoDoFo::PdfOutputDevice::Seek ( size_t offset ) [virtual]

Seek the device to the position offset from the begining

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.88 PoDoFo::PdfOutputStream Class Reference 291

Parameters
offset from the beginning of the file

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.8 size_t PoDoFo::PdfOutputDevice::Tell ( ) const [inline], [virtual]

Get the current offset from the beginning of the file.

Returns

the offset form the beginning of the file.

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.87.3.9 void PoDoFo::PdfOutputDevice::Write ( const char ∗ pBuffer, size_t lLen ) [virtual]

Write data to the buffer. Use this call instead of Print if you want to write binary data to the PdfOutputDevice.
Parameters
pBuffer a pointer to the data buffer
lLen write lLen bytes of pBuffer to the PdfOutputDevice

See also

Print

Reimplemented in PoDoFo::PdfSignOutputDevice.

10.88 PoDoFo::PdfOutputStream Class Reference

#include <PdfOutputStream.h>
Inheritance diagram for PoDoFo::PdfOutputStream:

PoDoFo::PdfOutputStream

PoDoFo::PdfBufferOutputStream PoDoFo::PdfDeviceOutputStream PoDoFo::PdfFileOutputStream PoDoFo::PdfFilteredDecodeStream PoDoFo::PdfFilteredEncodeStream PoDoFo::PdfMemoryOutputStream

Public Member Functions

• virtual pdf_long Write (const char ∗pBuffer, pdf_long lLen)=0


• pdf_long Write (const std::string &s)
• virtual void Close ()=0

10.88.1 Detailed Description

An interface for writing blocks of data to a data source.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


292 Class Documentation

10.88.2 Member Function Documentation

10.88.2.1 virtual void PoDoFo::PdfOutputStream::Close ( ) [pure virtual]

Close the PdfOutputStream. This method may throw exceptions and has to be called before the descructor to end
writing.
No more data may be written to the output device after calling close.
Implemented in PoDoFo::PdfBufferOutputStream, PoDoFo::PdfDeviceOutputStream, PoDoFo::PdfFiltered←-
DecodeStream, PoDoFo::PdfMemoryOutputStream, PoDoFo::PdfFilteredEncodeStream, and PoDoFo::PdfFile←-
OutputStream.

10.88.2.2 virtual pdf_long PoDoFo::PdfOutputStream::Write ( const char ∗ pBuffer, pdf_long lLen ) [pure virtual]

Write data to the output stream


Parameters
pBuffer the data is read from this buffer
lLen the size of the buffer

Returns

the number of bytes written, -1 if an error ocurred

Implemented in PoDoFo::PdfBufferOutputStream, PoDoFo::PdfDeviceOutputStream, PoDoFo::PdfFiltered←-


DecodeStream, PoDoFo::PdfMemoryOutputStream, PoDoFo::PdfFilteredEncodeStream, and PoDoFo::PdfFile←-
OutputStream.

10.88.2.3 pdf_long PoDoFo::PdfOutputStream::Write ( const std::string & s ) [inline]

Helper that writes a string via Write(const char∗,long)

10.89 PoDoFo::PdfPage Class Reference

#include <PdfPage.h>
Inheritance diagram for PoDoFo::PdfPage:

PoDoFo::PdfElement PoDoFo::PdfCanvas

PoDoFo::PdfPage

Public Member Functions

• PdfPage (const PdfRect &rSize, PdfDocument ∗pParent)


• PdfPage (const PdfRect &rSize, PdfVecObjects ∗pParent)
• PdfPage (PdfObject ∗pObject, const std::deque< PdfObject ∗ > &listOfParents)
• virtual const PdfRect GetPageSize () const
• bool SetPageWidth (int newWidth)
• bool SetPageHeight (int newHeight)
• void SetTrimBox (const PdfRect &rSize)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.89 PoDoFo::PdfPage Class Reference 293

• unsigned int GetPageNumber () const


• virtual PdfObject ∗ GetContents () const
• virtual PdfObject ∗ GetContentsForAppending () const
• virtual PdfObject ∗ GetResources () const
• virtual const PdfRect GetMediaBox () const
• virtual const PdfRect GetCropBox () const
• virtual const PdfRect GetTrimBox () const
• virtual const PdfRect GetBleedBox () const
• virtual const PdfRect GetArtBox () const
• virtual int GetRotation () const
• virtual void SetRotation (int nRotation)
• virtual int GetNumAnnots () const
• PdfAnnotation ∗ CreateAnnotation (EPdfAnnotation eType, const PdfRect &rRect)
• PdfAnnotation ∗ GetAnnotation (int index)
• void DeleteAnnotation (int index)
• void DeleteAnnotation (const PdfReference &ref)
• int GetNumFields () const
• PdfField GetField (int index)
• const PdfField GetField (int index) const
• PdfObject ∗ GetFromResources (const PdfName &rType, const PdfName &rKey)
• const PdfObject ∗ GetInheritedKey (const PdfName &rName) const

Static Public Member Functions

• static PdfRect CreateStandardPageSize (const EPdfPageSize ePageSize, bool bLandscape=false)

Additional Inherited Members

10.89.1 Detailed Description

PdfPage is one page in the pdf document. It is possible to draw on a page using a PdfPainter object. Every
document needs at least one page.

10.89.2 Constructor & Destructor Documentation

10.89.2.1 PoDoFo::PdfPage::PdfPage ( const PdfRect & rSize, PdfDocument ∗ pParent )

Create a new PdfPage object.


Parameters
rSize a PdfRect specifying the size of the page (i.e the /MediaBox key) in PDF units
pParent add the page to this parent

10.89.2.2 PoDoFo::PdfPage::PdfPage ( const PdfRect & rSize, PdfVecObjects ∗ pParent )

Create a new PdfPage object.


Parameters
rSize a PdfRect specifying the size of the page (i.e the /MediaBox key) in PDF units
pParent add the page to this parent

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


294 Class Documentation

10.89.2.3 PoDoFo::PdfPage::PdfPage ( PdfObject ∗ pObject, const std::deque< PdfObject ∗ > & listOfParents )

Create a PdfPage based on an existing PdfObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.89 PoDoFo::PdfPage Class Reference 295

Parameters
pObject an existing PdfObject
listOfParents a list of PdfObjects that are parents of this page and can be queried for inherited attributes.
The last object in the list is the most direct parent of this page.

10.89.3 Member Function Documentation

10.89.3.1 PdfAnnotation ∗ PoDoFo::PdfPage::CreateAnnotation ( EPdfAnnotation eType, const PdfRect & rRect )

Create a new annotation to this page.


Parameters
eType the type of the annotation
rRect rectangle of the annotation on the page

Returns

the annotation object which is owned by the PdfPage

10.89.3.2 PdfRect PoDoFo::PdfPage::CreateStandardPageSize ( const EPdfPageSize ePageSize, bool bLandscape =


false ) [static]

Creates a PdfRect with the page size as values which is needed to create a PdfPage object from an enum which
are defined for a few standard page sizes.
Parameters
ePageSize the page size you want
bLandscape create a landscape pagesize instead of portrait (by exchanging width and height)

Returns

a PdfRect object which can be passed to the PdfPage constructor

10.89.3.3 void PoDoFo::PdfPage::DeleteAnnotation ( int index )

Delete the annotation with index index from this page.


Parameters
index the index of the annotation to delete

See also

GetNumAnnots

10.89.3.4 void PoDoFo::PdfPage::DeleteAnnotation ( const PdfReference & ref )

Delete the annotation object with reference ref from this page.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


296 Class Documentation

Parameters
ref the reference of an annotation object of this page.

See also

GetNumAnnots

10.89.3.5 PdfAnnotation ∗ PoDoFo::PdfPage::GetAnnotation ( int index )

Get the annotation with index index of the current page.


Parameters
index the index of the annotation to retrieve

Returns

a annotation object. The annotation object is owned by the PdfPage.

See also

GetNumAnnots

10.89.3.6 virtual const PdfRect PoDoFo::PdfPage::GetArtBox ( ) const [inline], [virtual]

Get the current ArtBox in PDF units.

Returns

PdfRect the page box

10.89.3.7 virtual const PdfRect PoDoFo::PdfPage::GetBleedBox ( ) const [inline], [virtual]

Get the current BleedBox (extra area for printing purposes) in PDF units.

Returns

PdfRect the page box

10.89.3.8 PdfObject ∗ PoDoFo::PdfPage::GetContents ( ) const [virtual]

Get access to the contents object of this page. If you want to draw onto the page, you have to add drawing
commands to the stream of the Contents object.

Returns

a contents object

Implements PoDoFo::PdfCanvas.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.89 PoDoFo::PdfPage Class Reference 297

10.89.3.9 PdfObject ∗ PoDoFo::PdfPage::GetContentsForAppending ( ) const [virtual]

Get access an object that you can use to ADD drawing to. If you want to draw onto the page, you have to add
drawing commands to the stream of the Contents object.

Returns

a contents object

Implements PoDoFo::PdfCanvas.

10.89.3.10 virtual const PdfRect PoDoFo::PdfPage::GetCropBox ( ) const [inline], [virtual]

Get the current CropBox (visible page size) in PDF units.

Returns

PdfRect the page box

10.89.3.11 PdfField PoDoFo::PdfPage::GetField ( int index )

Get a PdfField with a certain index.


Parameters
index of the PdfField (must be smaller than GetNumFields() )

See also

GetNumFields

Returns

a PdfField

10.89.3.12 const PdfField PoDoFo::PdfPage::GetField ( int index ) const

Get a PdfField with a certain index.


Parameters
index of the PdfField (must be smaller than GetNumFields() )

See also

GetNumFields

Returns

a constP dfField

10.89.3.13 PdfObject ∗ PoDoFo::PdfPage::GetFromResources ( const PdfName & rType, const PdfName & rKey )

Get an element from the pages resources dictionary, using a type (category) and a key.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


298 Class Documentation

Parameters
rType the type of resource to fetch (e.g. /Font, or /XObject)
rKey the key of the resource

Returns

the object of the resource or NULL if it was not found

10.89.3.14 const PdfObject ∗ PoDoFo::PdfPage::GetInheritedKey ( const PdfName & rName ) const [inline]

Method for getting a value that can be inherited Possible names that can be inherited according to the PDF specifi-
cation are: Resources, MediaBox, CropBox and Rotate

Returns

PdfObject - the result of the key fetching or NULL

10.89.3.15 virtual const PdfRect PoDoFo::PdfPage::GetMediaBox ( ) const [inline], [virtual]

Get the current MediaBox (physical page size) in PDF units.

Returns

PdfRect the page box

10.89.3.16 int PoDoFo::PdfPage::GetNumAnnots ( ) const [virtual]

Get the number of annotations associated with this page \ returns int number of annotations

10.89.3.17 int PoDoFo::PdfPage::GetNumFields ( ) const

Returns

the number of PdfFields on this page.

10.89.3.18 unsigned int PoDoFo::PdfPage::GetPageNumber ( ) const

Page number inside of the document. The first page has the number 1, the last page has the number PdfPages←-
Tree:GetTotalNumberOfPages()

Returns

the number of the page inside of the document

See also

PdfPagesTree:GetTotalNumberOfPages()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.89 PoDoFo::PdfPage Class Reference 299

10.89.3.19 const PdfRect PoDoFo::PdfPage::GetPageSize ( ) const [inline], [virtual]

Get the current page size in PDF Units

Returns

a PdfRect containing the page size available for drawing

Implements PoDoFo::PdfCanvas.

10.89.3.20 PdfObject ∗ PoDoFo::PdfPage::GetResources ( ) const [inline], [virtual]

Get access to the resources object of this page. This is most likely an internal object.

Returns

a resources object

Implements PoDoFo::PdfCanvas.

10.89.3.21 int PoDoFo::PdfPage::GetRotation ( ) const [virtual]

Get the current page rotation (if any).

Returns

int 0, 90, 180 or 270

10.89.3.22 virtual const PdfRect PoDoFo::PdfPage::GetTrimBox ( ) const [inline], [virtual]

Get the current TrimBox (cut area) in PDF units.

Returns

PdfRect the page box

10.89.3.23 bool PoDoFo::PdfPage::SetPageHeight ( int newHeight )

Set the current page height in PDF Units

Returns

true if successfull, false otherwise

10.89.3.24 bool PoDoFo::PdfPage::SetPageWidth ( int newWidth )

Set the current page width in PDF Units

Returns

true if successfull, false otherwise

10.89.3.25 void PoDoFo::PdfPage::SetRotation ( int nRotation ) [virtual]

Set the current page rotation.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


300 Class Documentation

Parameters
iRotation Rotation to set to the page. Valid value are 0, 90, 180, 270.

10.89.3.26 void PoDoFo::PdfPage::SetTrimBox ( const PdfRect & rSize )

Set the trimbox in PDF Units


Parameters
rSize a PdfRect specifying the trimbox of the page (i.e the /TrimBox key) in PDF units

10.90 PoDoFo::PdfPagesTree Class Reference

#include <PdfPagesTree.h>
Inheritance diagram for PoDoFo::PdfPagesTree:

PoDoFo::PdfElement

PoDoFo::PdfPagesTree

Public Member Functions

• PdfPagesTree (PdfVecObjects ∗pParent)


• PdfPagesTree (PdfObject ∗pPagesRoot)
• virtual ∼PdfPagesTree ()
• int GetTotalNumberOfPages () const
• PdfPage ∗ GetPage (int nIndex)
• PdfPage ∗ GetPage (const PdfReference &ref)
• void InsertPage (int nAfterPageIndex, PdfObject ∗pPage)
• void InsertPage (int nAfterPageIndex, PdfPage ∗pPage)
• void InsertPages (int nAfterPageIndex, const std::vector< PdfObject ∗ > &vecPages)
• PdfPage ∗ CreatePage (const PdfRect &rSize)
• void CreatePages (const std::vector< PdfRect > &vecSizes)
• PdfPage ∗ InsertPage (const PdfRect &rSize, int atIndex)
• void DeletePage (int inPageNumber)
• void ClearCache ()

Additional Inherited Members

10.90.1 Detailed Description

Class for managing the tree of Pages in a PDF document Don't use this class directly. Use PdfDocument instead.

See also

PdfDocument

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.90 PoDoFo::PdfPagesTree Class Reference 301

10.90.2 Constructor & Destructor Documentation

10.90.2.1 PoDoFo::PdfPagesTree::PdfPagesTree ( PdfVecObjects ∗ pParent )

Construct a new PdfPagesTree

10.90.2.2 PoDoFo::PdfPagesTree::PdfPagesTree ( PdfObject ∗ pPagesRoot )

Construct a PdfPagesTree from the root /Pages object


Parameters
pPagesRoot pointer to page tree dictionary

10.90.2.3 PoDoFo::PdfPagesTree::∼PdfPagesTree ( ) [virtual]

Close/down destruct a PdfPagesTree

10.90.3 Member Function Documentation

10.90.3.1 void PoDoFo::PdfPagesTree::ClearCache ( ) [inline]

Clear internal cache of PdfPage objects. All references to PdfPage object will become invalid when calling this
method. All PdfPages will be deleted.
You normally will never have to call this method. It is only useful if one modified the page nodes of the pagestree
manually.

10.90.3.2 PdfPage ∗ PoDoFo::PdfPagesTree::CreatePage ( const PdfRect & rSize )

Creates a new page object and inserts it into the internal page tree. The returned page is owned by the pages tree
and will get deleted along with it!
Parameters
rSize a PdfRect specifying the size of the page (i.e the /MediaBox key) in PDF units

Returns

a pointer to a PdfPage object

10.90.3.3 void PoDoFo::PdfPagesTree::CreatePages ( const std::vector< PdfRect > & vecSizes )

Creates several new page objects and inserts them into the internal page tree. The new pages are owned by the
pages tree and will get deleted along with it! Note: this function will attach all new pages onto the same page node
which can cause the tree to be unbalanced if
Parameters
vecSizes a vector of PdfRect specifying the size of each of the pages to create (i.e the /MediaBox key)
in PDF units

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


302 Class Documentation

10.90.3.4 void PoDoFo::PdfPagesTree::DeletePage ( int inPageNumber )

Delete the specified page object from the internal pages tree. It does NOT remove any PdfObjects from memory -
just the reference from the tree

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.90 PoDoFo::PdfPagesTree Class Reference 303

Parameters
inPageNumber the page number (0-based) to be removed

The PdfPage object refering to this page will be deleted by this call! Empty page nodes will also be deleted.

See also

PdfMemDocument::DeletePages

10.90.3.5 PdfPage ∗ PoDoFo::PdfPagesTree::GetPage ( int nIndex )

Return a PdfPage for the specified Page index The returned page is owned by the pages tree and deleted along
with it.
Parameters
nIndex page index, 0-based

Returns

a pointer to the requested page

10.90.3.6 PdfPage ∗ PoDoFo::PdfPagesTree::GetPage ( const PdfReference & ref )

Return a PdfPage for the specified Page reference. The returned page is owned by the pages tree and deleted
along with it.
Parameters
ref the reference of the pages object

Returns

a pointer to the requested page

10.90.3.7 int PoDoFo::PdfPagesTree::GetTotalNumberOfPages ( ) const

Return the number of pages in the entire tree

Returns

number of pages

10.90.3.8 void PoDoFo::PdfPagesTree::InsertPage ( int nAfterPageIndex, PdfObject ∗ pPage )

Inserts an existing page object into the internal page tree. after the specified page number
Parameters
nAfterPageIndex an integer specifying after what page

• may be one of the special values from EPdfPageInsertionPoint. Pages are 0 based.

pPage musst be a PdfObject with type /Page

10.90.3.9 void PoDoFo::PdfPagesTree::InsertPage ( int nAfterPageIndex, PdfPage ∗ pPage )

Inserts an existing page object into the internal page tree. after the specified page number

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


304 Class Documentation

Parameters
nAfterPageIndex an integer specifying after what page

• may be one of the special values from EPdfPageInsertionPoint. Pages are 0 based.

pPage a PdfPage to be inserted, the PdfPage will not get owned by the PdfPagesTree

10.90.3.10 PdfPage ∗ PoDoFo::PdfPagesTree::InsertPage ( const PdfRect & rSize, int atIndex )

Creates a new page object and inserts it at index atIndex. The returned page is owned by the pages tree and will
get deleted along with it!
Parameters
rSize a PdfRect specifying the size of the page (i.e the /MediaBox key) in PDF units
atIndex index where to insert the new page (0-based)

Returns

a pointer to a PdfPage object

10.90.3.11 void PoDoFo::PdfPagesTree::InsertPages ( int nAfterPageIndex, const std::vector< PdfObject ∗ > & vecPages )

Inserts a vector of page objects at once into the internal page tree after the specified page index (zero based index)
Parameters
nAfterPageIndex a zero based integer index specifying after what page to insert

• you need to pass ePdfPageInsertionPoint_InsertBeforeFirstPage if you want to insert


before the first page.

vecPages must be a vector of PdfObjects with type /Page

10.91 PoDoFo::PdfPagesTreeCache Class Reference

#include <PdfPagesTreeCache.h>

Public Member Functions

• PdfPagesTreeCache (int nInitialSize)


• virtual ∼PdfPagesTreeCache ()
• virtual PdfPage ∗ GetPage (int nIndex)
• virtual void AddPageObject (int nIndex, PdfPage ∗pPage)
• virtual void AddPageObjects (int nIndex, std::vector< PdfPage ∗ > vecPages)
• virtual void InsertPage (int nAfterPageIndex)
• virtual void InsertPages (int nAfterPageIndex, int nCount)
• virtual void DeletePage (int nIndex)
• virtual void ClearCache ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.91 PoDoFo::PdfPagesTreeCache Class Reference 305

10.91.1 Detailed Description

This class implements a cache infront of a PdfPagesTree

See also

PdfCachedPagesTree

10.91.2 Constructor & Destructor Documentation

10.91.2.1 PoDoFo::PdfPagesTreeCache::PdfPagesTreeCache ( int nInitialSize )

Construct a new PdfCachedPagesTree.


Parameters
nInitialSize initial size of the pagestree

10.91.2.2 PoDoFo::PdfPagesTreeCache::∼PdfPagesTreeCache ( ) [virtual]

Close/down destruct a PdfCachedPagesTree

10.91.3 Member Function Documentation

10.91.3.1 void PoDoFo::PdfPagesTreeCache::AddPageObject ( int nIndex, PdfPage ∗ pPage ) [virtual]

Add a PdfPage object to the cache


Parameters
nIndex index of the page
pPage page object

10.91.3.2 void PoDoFo::PdfPagesTreeCache::AddPageObjects ( int nIndex, std::vector< PdfPage ∗ > vecPages )


[virtual]

Add several PdfPage objects to the cache, replacing any existing at the given index
Parameters
nIndex zero based index of where the first page will be placed
vecPages vector of the page objects to add

10.91.3.3 void PoDoFo::PdfPagesTreeCache::ClearCache ( ) [virtual]

Clear cache, i.e. remove all elements from the cache.

10.91.3.4 void PoDoFo::PdfPagesTreeCache::DeletePage ( int nIndex ) [virtual]

Delete a PdfPage from the cache

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


306 Class Documentation

Parameters
nIndex index of the page

10.91.3.5 PdfPage ∗ PoDoFo::PdfPagesTreeCache::GetPage ( int nIndex ) [virtual]

Return a PdfPage for the specified Page index The returned page is owned by the pages tree and deleted along
with it.
Parameters
nIndex page index, 0-based

Returns

a pointer to the requested page or NULL if it is not cached

10.91.3.6 void PoDoFo::PdfPagesTreeCache::InsertPage ( int nAfterPageIndex ) [virtual]

A page was inserted into the pagestree, therefore the cache has to be updated
Parameters
nAfterPageIndex zero based index of the page we are inserting after

• may be one of the special values from EPdfPageInsertionPoint.

10.91.3.7 void PoDoFo::PdfPagesTreeCache::InsertPages ( int nAfterPageIndex, int nCount ) [virtual]

Insert several pages into the pagestree, after the given index therefore the cache has to be updated
Parameters
nAfterPageIndex zero based index of the page we are inserting after

• may be one of the special values from EPdfPageInsertionPoint.

nCount number of pages that were inserted

10.92 PoDoFo::PdfPainter Class Reference

#include <PdfPainter.h>
Inheritance diagram for PoDoFo::PdfPainter:

PoDoFo::PdfPainter

PoDoFo::PdfPainterMM

Public Member Functions

• PdfPainter ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 307

• void SetPage (PdfCanvas ∗pPage)


• PdfCanvas ∗ GetPage () const
• PdfStream ∗ GetCanvas () const
• void FinishPage ()
• void SetStrokingGray (double g)
• void SetGray (double g)
• void SetStrokingColor (double r, double g, double b)
• void SetColor (double r, double g, double b)
• void SetStrokingColorCMYK (double c, double m, double y, double k)
• void SetColorCMYK (double c, double m, double y, double k)
• void SetStrokingShadingPattern (const PdfShadingPattern &rPattern)
• void SetShadingPattern (const PdfShadingPattern &rPattern)
• void SetStrokingTilingPattern (const PdfTilingPattern &rPattern)
• void SetStrokingTilingPattern (const std::string &rPatternName)
• void SetTilingPattern (const PdfTilingPattern &rPattern)
• void SetTilingPattern (const std::string &rPatternName)
• void SetStrokingColor (const PdfColor &rColor)
• void SetColor (const PdfColor &rColor)
• void SetStrokeWidth (double dWidth)
• void SetStrokeStyle (EPdfStrokeStyle eStyle, const char ∗pszCustom=NULL, bool inverted=false, double
scale=1.0, bool subtractJoinCap=false)
• void SetLineCapStyle (EPdfLineCapStyle eCapStyle)
• void SetLineJoinStyle (EPdfLineJoinStyle eJoinStyle)
• void SetFont (PdfFont ∗pFont)
• void SetTextRenderingMode (EPdfTextRenderingMode mode)
• EPdfTextRenderingMode GetTextRenderingMode (void) const
• PdfFont ∗ GetFont () const
• void SetClipRect (double dX, double dY, double dWidth, double dHeight)
• void SetClipRect (const PdfRect &rRect)
• void SetMiterLimit (double value)
• void DrawLine (double dStartX, double dStartY, double dEndX, double dEndY)
• void Rectangle (double dX, double dY, double dWidth, double dHeight, double dRoundX=0.0, double d←-
RoundY=0.0)
• void Rectangle (const PdfRect &rRect, double dRoundX=0.0, double dRoundY=0.0)
• void Ellipse (double dX, double dY, double dWidth, double dHeight)
• void Circle (double dX, double dY, double dRadius)
• void DrawText (double dX, double dY, const PdfString &sText)
• void DrawText (double dX, double dY, const PdfString &sText, long lLen)
• void DrawMultiLineText (double dX, double dY, double dWidth, double dHeight, const PdfString &rsText, E←-
PdfAlignment eAlignment=ePdfAlignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top,
bool bClip=true)
• void DrawMultiLineText (const PdfRect &rRect, const PdfString &rsText, EPdfAlignment eAlignment=ePdf←-
Alignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top, bool bClip=true)
• std::vector< PdfString > GetMultiLineTextAsLines (double dWidth, const PdfString &rsText)
• void DrawTextAligned (double dX, double dY, double dWidth, const PdfString &rsText, EPdfAlignment e←-
Alignment)
• void BeginText (double dX, double dY)
• void AddText (const PdfString &sText)
• void AddText (const PdfString &sText, pdf_long lStringLen)
• void MoveTextPos (double dX, double dY)
• void EndText ()
• void DrawGlyph (PdfMemDocument ∗pDocument, double dX, double dY, const char ∗pszGlyphname)
• void DrawImage (double dX, double dY, PdfImage ∗pObject, double dScaleX=1.0, double dScaleY=1.0)
• void DrawXObject (double dX, double dY, PdfXObject ∗pObject, double dScaleX=1.0, double dScaleY=1.0)
• void ClosePath ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


308 Class Documentation

• void LineTo (double dX, double dY)


• void MoveTo (double dX, double dY)
• void CubicBezierTo (double dX1, double dY1, double dX2, double dY2, double dX3, double dY3)
• void HorizontalLineTo (double dX)
• void VerticalLineTo (double dY)
• void SmoothCurveTo (double dX2, double dY2, double dX3, double dY3)
• void QuadCurveTo (double dX1, double dY1, double dX3, double dY3)
• void SmoothQuadCurveTo (double dX3, double dY3)
• void ArcTo (double dX, double dY, double dRadiusX, double dRadiusY, double dRotation, bool bLarge, bool
bSweep)
• void Close ()
• void Stroke ()
• void Fill (bool useEvenOddRule=false)
• void FillAndStroke (bool useEvenOddRule=false)
• void Clip (bool useEvenOddRule=false)
• void EndPath (void)
• void Save ()
• void Restore ()
• void SetTransformationMatrix (double a, double b, double c, double d, double e, double f)
• void SetExtGState (PdfExtGState ∗inGState)
• void SetRenderingIntent (char ∗intent)
• void SetTabWidth (unsigned short nTabWidth)
• unsigned short GetTabWidth () const
• void SetPrecision (unsigned short inPrec)
• unsigned short GetPrecision () const
• std::ostringstream & GetCurrentPath (void)

Protected Member Functions

• void ConvertRectToBezier (double dX, double dY, double dWidth, double dHeight, double pdPointX[ ], double
pdPointY[ ])
• virtual void AddToPageResources (const PdfName &rIdentifier, const PdfReference &rRef, const PdfName
&rName)
• void SetCurrentStrokingColor ()
• PdfString ExpandTabs (const PdfString &rsString, pdf_long lLen) const

Protected Attributes

• PdfStream ∗ m_pCanvas
• PdfCanvas ∗ m_pPage
• PdfFont ∗ m_pFont
• unsigned short m_nTabWidth
• PdfColor m_curColor
• bool m_isTextOpen
• std::ostringstream m_oss
• std::ostringstream m_curPath

10.92.1 Detailed Description

This class provides an easy to use painter object which allows you to draw on a PDF page object.
During all drawing operations, you are still able to access the stream of the object you are drawing on directly.
All functions that take coordinates expect these to be in PDF User Units. Keep in mind that PDF has its coordinate
system origin at the bottom left corner.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 309

10.92.2 Constructor & Destructor Documentation

10.92.2.1 PoDoFo::PdfPainter::PdfPainter ( )

Create a new PdfPainter object.

10.92.3 Member Function Documentation

10.92.3.1 void PoDoFo::PdfPainter::AddText ( const PdfString & sText )

Draw a string on a page. You have to call BeginText before the first call of this function and EndText after the last
call.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use
DrawText which is easier.
Parameters
sText the text string which should be printed

See also

SetFont()
MoveTextPos()
EndText()

10.92.3.2 void PoDoFo::PdfPainter::AddText ( const PdfString & sText, pdf_long lStringLen )

Draw a string on a page. You have to call BeginText before the first call of this function and EndText after the last
call.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use
DrawText which is easier.
Parameters
sText the text string which should be printed
lStringLen draw only lLen characters of pszText

See also

SetFont()
MoveTextPos()
EndText()

10.92.3.3 void PoDoFo::PdfPainter::AddToPageResources ( const PdfName & rIdentifier, const PdfReference & rRef,
const PdfName & rName ) [protected], [virtual]

Register an object in the resource dictionary of this page so that it can be used for any following drawing operations.
Parameters
rIdentifier identifier of this object, e.g. /Ft0
rRef reference to the object you want to register
rName register under this key in the resource dictionary

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


310 Class Documentation

10.92.3.4 void PoDoFo::PdfPainter::ArcTo ( double dX, double dY, double dRadiusX, double dRadiusY, double dRotation,
bool bLarge, bool bSweep )

Append a Arc to the current path Matches the SVG 'A' operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 311

Parameters
dX x coordinate of the start point
dY y coordinate of the start point
dRadiusX x coordinate of the end point, which is the new current point
dRadiusY y coordinate of the end point, which is the new current point
dRotation degree of rotation in radians
bLarge large or small portion of the arc
bSweep sweep?

10.92.3.5 void PoDoFo::PdfPainter::BeginText ( double dX, double dY )

Begin drawing multiple text strings on a page using a given font object. You have to call SetFont before calling this
function.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use
DrawText which is easier.
Parameters
dX the x coordinate
dY the y coordinate

See also

SetFont()
AddText()
MoveTextPos()
EndText()

10.92.3.6 void PoDoFo::PdfPainter::Circle ( double dX, double dY, double dRadius )

Add a circle into the current path


Parameters
dX x center coordinate of the circle
dY y coordinate of the circle
dRadius radius of the circle

10.92.3.7 void PoDoFo::PdfPainter::Clip ( bool useEvenOddRule = false )

Clip the current path. Matches the PDF 'W' operator. This function is useful to construct an own path for drawing or
clipping.
Parameters
useEvenOdd←- select even-odd rule instead of nonzero winding number rule
Rule

10.92.3.8 void PoDoFo::PdfPainter::Close ( )

Close the current path. Matches the PDF 'h' operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


312 Class Documentation

10.92.3.9 void PoDoFo::PdfPainter::ClosePath ( )

Closes the current path by drawing a line from the current point to the starting point of the path. Matches the PDF
'h' operator. This function is useful to construct an own path for drawing or clipping.

10.92.3.10 void PoDoFo::PdfPainter::ConvertRectToBezier ( double dX, double dY, double dWidth, double dHeight, double
pdPointX[ ], double pdPointY[ ] ) [protected]

Coverts a rectangle to an array of points which can be used to draw an ellipse using 4 bezier curves.
The arrays plPointX and plPointY need space for at least 12 longs to be stored.
Parameters
dX x position of the bounding rectangle
dY y position of the bounding rectangle
dWidth width of the bounding rectangle
dHeight height of the bounding rectangle
pdPointX pointer to an array were the x coordinates of the resulting points will be stored
pdPointY pointer to an array were the y coordinates of the resulting points will be stored

10.92.3.11 void PoDoFo::PdfPainter::CubicBezierTo ( double dX1, double dY1, double dX2, double dY2, double dX3, double
dY3 )

Append a cubic bezier curve to the current path Matches the PDF 'c' operator.
Parameters
dX1 x coordinate of the first control point
dY1 y coordinate of the first control point
dX2 x coordinate of the second control point
dY2 y coordinate of the second control point
dX3 x coordinate of the end point, which is the new current point
dY3 y coordinate of the end point, which is the new current point

10.92.3.12 void PoDoFo::PdfPainter::DrawGlyph ( PdfMemDocument ∗ pDocument, double dX, double dY, const char ∗
pszGlyphname )

Draw a single glyph on a page using a given font object.


Parameters
pDocument pointer to the document, needed to generate a copy of the current font
dX the x coordinate
dY the y coordinate
pszGlyphname the name of the glyph which should be printed

See also

SetFont()

10.92.3.13 void PoDoFo::PdfPainter::DrawImage ( double dX, double dY, PdfImage ∗ pObject, double dScaleX = 1.0,
double dScaleY = 1.0 )

Draw an image on the current page.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 313

Parameters
dX the x coordinate (bottom left position of the image)
dY the y coordinate (bottom position of the image)
pObject an PdfXObject
dScaleX option scaling factor in x direction
dScaleY option scaling factor in y direction

10.92.3.14 void PoDoFo::PdfPainter::DrawLine ( double dStartX, double dStartY, double dEndX, double dEndY )

Draw a line with the current color and line settings.


Parameters
dStartX x coordinate of the starting point
dStartY y coordinate of the starting point
dEndX x coordinate of the ending point
dEndY y coordinate of the ending point

10.92.3.15 void PoDoFo::PdfPainter::DrawMultiLineText ( double dX, double dY, double dWidth, double dHeight, const
PdfString & rsText, EPdfAlignment eAlignment = ePdfAlignment_Left, EPdfVerticalAlignment
eVertical = ePdfVerticalAlignment_Top, bool bClip = true )

Draw multiline text into a rectangle doing automatic wordwrapping. The current font is used and SetFont has to be
called at least once before using this function
Parameters
dX the x coordinate of the text area (left)
dY the y coordinate of the text area (bottom)
dWidth width of the text area
dHeight height of the text area
rsText the text which should be drawn
eAlignment alignment of the individual text lines in the given bounding box
eVertical vertical alignment of the text in the given bounding box
bClip set the clipping rectangle to the given rRect, otherwise no clipping is performed

10.92.3.16 void PoDoFo::PdfPainter::DrawMultiLineText ( const PdfRect & rRect, const PdfString & rsText,
EPdfAlignment eAlignment = ePdfAlignment_Left, EPdfVerticalAlignment eVertical =
ePdfVerticalAlignment_Top, bool bClip = true ) [inline]

Draw multiline text into a rectangle doing automatic wordwrapping. The current font is used and SetFont has to be
called at least once before using this function
Parameters
rRect bounding rectangle of the text
rsText the text which should be drawn
eAlignment alignment of the individual text lines in the given bounding box
eVertical vertical alignment of the text in the given bounding box
bClip set the clipping rectangle to the given rRect, otherwise no clipping is performed

10.92.3.17 void PoDoFo::PdfPainter::DrawText ( double dX, double dY, const PdfString & sText )

Draw a single-line text string on a page using a given font object. You have to call SetFont before calling this function.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


314 Class Documentation

Parameters
dX the x coordinate
dY the y coordinate
sText the text string which should be printed

See also

SetFont()

10.92.3.18 void PoDoFo::PdfPainter::DrawText ( double dX, double dY, const PdfString & sText, long lLen )

Draw a single-line text string on a page using a given font object. You have to call SetFont before calling this function.
Parameters
dX the x coordinate
dY the y coordinate
sText the text string which should be printed (is not allowed to be NULL!)
lLen draw only lLen characters of pszText

See also

SetFont()

10.92.3.19 void PoDoFo::PdfPainter::DrawTextAligned ( double dX, double dY, double dWidth, const PdfString & rsText,
EPdfAlignment eAlignment )

Draw a single line of text horizontally aligned.


Parameters
dX the x coordinate of the text line
dY the y coordinate of the text line
dWidth the width of the text line
rsText the text to draw
eAlignment alignment of the text line

10.92.3.20 void PoDoFo::PdfPainter::DrawXObject ( double dX, double dY, PdfXObject ∗ pObject, double dScaleX = 1.0,
double dScaleY = 1.0 )

Draw an XObject on the current page. For PdfImage use DrawImage.


Parameters
dX the x coordinate (bottom left position of the XObject)
dY the y coordinate (bottom position of the XObject)
pObject an PdfXObject
dScaleX option scaling factor in x direction
dScaleY option scaling factor in y direction

See also

DrawImage

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 315

10.92.3.21 void PoDoFo::PdfPainter::Ellipse ( double dX, double dY, double dWidth, double dHeight )

Add an ellipse into the current path

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


316 Class Documentation

Parameters
dX x coordinate of the ellipse (left coordinate)
dY y coordinate of the ellipse (top coordinate)
dWidth width of the ellipse
dHeight absolute height of the ellipse

10.92.3.22 void PoDoFo::PdfPainter::EndPath ( void )

End current pathm without filling or stroking it. Matches the PDF 'n' operator.

10.92.3.23 void PoDoFo::PdfPainter::EndText ( )

End drawing multiple text strings on a page


If you want more simpler text output and do not need the advanced text position features of MoveTextPos use
DrawText which is easier.

See also

BeginText()
AddText()
MoveTextPos()

10.92.3.24 PdfString PoDoFo::PdfPainter::ExpandTabs ( const PdfString & rsString, pdf_long lLen ) const
[protected]

Expand all tab characters in a string using spaces.


Parameters
rsString expand all tabs in this string using spaces
lLen use only lLen characters of rsString

Returns

an expanded copy of the passed string

See also

SetTabWidth

10.92.3.25 void PoDoFo::PdfPainter::Fill ( bool useEvenOddRule = false )

Fill the current path. Matches the PDF 'f' operator. This function is useful to construct an own path for drawing or
clipping.
Parameters
useEvenOdd←- select even-odd rule instead of nonzero winding number rule
Rule

10.92.3.26 void PoDoFo::PdfPainter::FillAndStroke ( bool useEvenOddRule = false )

Fill then stroke the current path. Matches the PDF 'B' operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 317

Parameters
useEvenOdd←- select even-odd rule instead of nonzero winding number rule
Rule

10.92.3.27 void PoDoFo::PdfPainter::FinishPage ( )

Finish drawing onto a page.


This has to be called whenever a page has been drawn complete.

10.92.3.28 PdfStream ∗ PoDoFo::PdfPainter::GetCanvas ( ) const [inline]

Return the current page canvas stream that is set on the painter.

Returns

the current page canvas stream of the painter or NULL if none is set

10.92.3.29 std::ostringstream & PoDoFo::PdfPainter::GetCurrentPath ( void ) [inline]

Get current path string stream. Stroke/Fill commands clear current path.

Returns

std::ostringstream representing current path

10.92.3.30 PdfFont ∗ PoDoFo::PdfPainter::GetFont ( ) const [inline]

Get the current font:

Returns

a font object or NULL if no font was set.

10.92.3.31 std::vector< PdfString > PoDoFo::PdfPainter::GetMultiLineTextAsLines ( double dWidth, const PdfString &
rsText )

Gets the text divided into individual lines, using the current font and clipping rectangle.
Parameters
dWidth width of the text area
rsText the text which should be drawn

10.92.3.32 PdfCanvas ∗ PoDoFo::PdfPainter::GetPage ( ) const [inline]

Return the current page that is that on the painter.

Returns

the current page of the painter or NULL if none is set

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


318 Class Documentation

10.92.3.33 unsigned short PoDoFo::PdfPainter::GetPrecision ( ) const [inline]

Get the currently set floating point precision

Returns

how many decimal places will be written out for any floating point value

10.92.3.34 unsigned short PoDoFo::PdfPainter::GetTabWidth ( ) const [inline]

Get the currently set tab width

Returns

by how many spaces a tabulator will be replaced

See also

DrawText
TabWidth

10.92.3.35 EPdfTextRenderingMode PoDoFo::PdfPainter::GetTextRenderingMode ( void ) const [inline]

Gets current text rendering mode. Default mode is ePdfTextRenderingMode_Fill.

10.92.3.36 void PoDoFo::PdfPainter::HorizontalLineTo ( double dX )

Append a horizontal line to the current path Matches the SVG 'H' operator
Parameters
dX x coordinate to draw the line to

10.92.3.37 void PoDoFo::PdfPainter::LineTo ( double dX, double dY )

Append a line segment to the current path. Matches the PDF 'l' operator. This function is useful to construct an own
path for drawing or clipping.
Parameters
dX x position
dY y position

10.92.3.38 void PoDoFo::PdfPainter::MoveTextPos ( double dX, double dY )

Move position for text drawing on a page. You have to call BeginText before calling this function
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use
DrawText which is easier.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 319

Parameters
dX the x offset relative to pos of BeginText or last MoveTextPos
dY the y offset relative to pos of BeginText or last MoveTextPos

See also

BeginText()
AddText()
EndText()

10.92.3.39 void PoDoFo::PdfPainter::MoveTo ( double dX, double dY )

Begin a new path. Matches the PDF 'm' operator. This function is useful to construct an own path for drawing or
clipping.
Parameters
dX x position
dY y position

10.92.3.40 void PoDoFo::PdfPainter::QuadCurveTo ( double dX1, double dY1, double dX3, double dY3 )

Append a quadratic bezier curve to the current path Matches the SVG 'Q' operator.
Parameters
dX1 x coordinate of the first control point
dY1 y coordinate of the first control point
dX3 x coordinate of the end point, which is the new current point
dY3 y coordinate of the end point, which is the new current point

10.92.3.41 void PoDoFo::PdfPainter::Rectangle ( double dX, double dY, double dWidth, double dHeight, double dRoundX =
0.0, double dRoundY = 0.0 )

Add a rectangle into the current path


Parameters
dX x coordinate of the rectangle (left coordinate)
dY y coordinate of the rectangle (bottom coordinate)
dWidth width of the rectangle
dHeight absolute height of the rectangle
dRoundX rounding factor, x direction
dRoundY rounding factor, y direction

10.92.3.42 void PoDoFo::PdfPainter::Rectangle ( const PdfRect & rRect, double dRoundX = 0.0, double dRoundY = 0.0 )
[inline]

Add a rectangle into the current path

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


320 Class Documentation

Parameters
rRect the rectangle area
dRoundX rounding factor, x direction
dRoundY rounding factor, y direction

See also

DrawRect

10.92.3.43 void PoDoFo::PdfPainter::Restore ( )

Restore the current graphics settings from the graphics stack. Operator 'Q' in PDF. This call has to be balanced with
a corresponding call to Save()!

See also

Save

10.92.3.44 void PoDoFo::PdfPainter::Save ( )

Save the current graphics settings onto the graphics stack. Operator 'q' in PDF. This call has to be balanced with a
corresponding call to Restore()!

See also

Restore

10.92.3.45 void PoDoFo::PdfPainter::SetClipRect ( double dX, double dY, double dWidth, double dHeight )

Set a clipping rectangle


Parameters
dX x coordinate of the rectangle (left coordinate)
dY y coordinate of the rectangle (bottom coordinate)
dWidth width of the rectangle
dHeight absolute height of the rectangle

10.92.3.46 void PoDoFo::PdfPainter::SetClipRect ( const PdfRect & rRect ) [inline]

Set a clipping rectangle


Parameters
rRect rectangle

10.92.3.47 void PoDoFo::PdfPainter::SetColor ( double r, double g, double b )

Set the color for all following non-stroking operations in rgb colorspace. This operation used the 'rg' PDF operator.
This color is also used when drawing text.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 321

Parameters
r red value in the range 0.0 - 1.0
g green value in the range 0.0 - 1.0
b blue value in the range 0.0 - 1.0

10.92.3.48 void PoDoFo::PdfPainter::SetColor ( const PdfColor & rColor )

Set the color for all following non-stroking operations.


Parameters
rColor a PdfColor object

10.92.3.49 void PoDoFo::PdfPainter::SetColorCMYK ( double c, double m, double y, double k )

Set the color for all following non-stroking operations in cmyk colorspace. This operation used the 'k' PDF operator.
Parameters
c cyan value in the range 0.0 - 1.0
m magenta value in the range 0.0 - 1.0
y yellow value in the range 0.0 - 1.0
k black value in the range 0.0 - 1.0

10.92.3.50 void PoDoFo::PdfPainter::SetCurrentStrokingColor ( ) [protected]

Sets the color that was last set by the user as the current stroking color. You should always enclose this function by
Save() and Restore()

See also

Save()
Restore()

10.92.3.51 void PoDoFo::PdfPainter::SetExtGState ( PdfExtGState ∗ inGState )

Sets a specific PdfExtGState as being active


Parameters
inGState the specific ExtGState to set

10.92.3.52 void PoDoFo::PdfPainter::SetFont ( PdfFont ∗ pFont )

Set the font for all text drawing operations


Parameters
pFont a handle to a valid PdfFont object

See also

DrawText

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


322 Class Documentation

10.92.3.53 void PoDoFo::PdfPainter::SetGray ( double g )

Set the color for all following non-stroking operations in grayscale colorspace. This operation used the 'g' PDF
operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 323

Parameters
g gray scale value in the range 0.0 - 1.0

10.92.3.54 void PoDoFo::PdfPainter::SetLineCapStyle ( EPdfLineCapStyle eCapStyle )

Set the line cap style for all stroking operations.


Parameters
eCapStyle the cap style.

Possible values: ePdfLineCapStyle_Butt, ePdfLineCapStyle_Round, ePdfLineCapStyle_Square

10.92.3.55 void PoDoFo::PdfPainter::SetLineJoinStyle ( EPdfLineJoinStyle eJoinStyle )

Set the line join style for all stroking operations.


Parameters
eJoinStyle the join style.

Possible values: ePdfLineJoinStyle_Miter ePdfLineJoinStyle_Round ePdfLineJoinStyle_Bevel

10.92.3.56 void PoDoFo::PdfPainter::SetMiterLimit ( double value )

Set miter limit.

10.92.3.57 void PoDoFo::PdfPainter::SetPage ( PdfCanvas ∗ pPage )

Set the page on which the painter should draw. The painter will draw of course on the pages contents object.
Calls FinishPage() on the last page if it was not yet called.
Parameters
pPage a PdfCanvas object (most likely a PdfPage or PdfXObject).

See also

PdfPage
PdfXObject
FinishPage()
GetPage()

10.92.3.58 void PoDoFo::PdfPainter::SetPrecision ( unsigned short inPrec ) [inline]

Set the floating point precision.


Parameters
inPrec write this many decimal places

10.92.3.59 void PoDoFo::PdfPainter::SetRenderingIntent ( char ∗ intent )

Sets a specific rendering intent

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


324 Class Documentation

Parameters
intent the specific intent to set

10.92.3.60 void PoDoFo::PdfPainter::SetShadingPattern ( const PdfShadingPattern & rPattern )

Set the shading pattern for all following non-stroking operations. This operation uses the 'scn' PDF operator.
Parameters
rPattern a shading pattern

10.92.3.61 void PoDoFo::PdfPainter::SetStrokeStyle ( EPdfStrokeStyle eStyle, const char ∗ pszCustom = NULL, bool
inverted = false, double scale = 1.0, bool subtractJoinCap = false )

Set the stoke style for all stroking operations.


Parameters
eStyle style of the stroking operations
pszCustom a custom stroking style which is used when eStyle == ePdfStrokeStyle_Custom.
inverted inverted dash style (gaps for drawn spaces), it is ignored for None, Solid and Custom styles
scale scale factor of the stroke style it is ignored for None, Solid and Custom styles
subtractJoinCap if true, subtracts scaled width on filled parts, thus the line capability still draws into the cell; is
used only if scale is not 1.0

Possible values: ePdfStrokeStyle_None ePdfStrokeStyle_Solid ePdfStrokeStyle_Dash ePdfStrokeStyle_Dot e←-


PdfStrokeStyle_DashDot ePdfStrokeStyle_DashDotDot ePdfStrokeStyle_Custom

10.92.3.62 void PoDoFo::PdfPainter::SetStrokeWidth ( double dWidth )

Set the line width for all stroking operations.


Parameters
dWidth in PDF User Units.

10.92.3.63 void PoDoFo::PdfPainter::SetStrokingColor ( double r, double g, double b )

Set the color for all following stroking operations in rgb colorspace. This operation used the 'RG' PDF operator.
Parameters
r red value in the range 0.0 - 1.0
g green value in the range 0.0 - 1.0
b blue value in the range 0.0 - 1.0

10.92.3.64 void PoDoFo::PdfPainter::SetStrokingColor ( const PdfColor & rColor )

Set the color for all following stroking operations.


Parameters
rColor a PdfColor object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 325

10.92.3.65 void PoDoFo::PdfPainter::SetStrokingColorCMYK ( double c, double m, double y, double k )

Set the color for all following stroking operations in cmyk colorspace. This operation used the 'K' PDF operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


326 Class Documentation

Parameters
c cyan value in the range 0.0 - 1.0
m magenta value in the range 0.0 - 1.0
y yellow value in the range 0.0 - 1.0
k black value in the range 0.0 - 1.0

10.92.3.66 void PoDoFo::PdfPainter::SetStrokingGray ( double g )

Set the color for all following stroking operations in grayscale colorspace. This operation used the 'G' PDF operator.
Parameters
g gray scale value in the range 0.0 - 1.0

10.92.3.67 void PoDoFo::PdfPainter::SetStrokingShadingPattern ( const PdfShadingPattern & rPattern )

Set the shading pattern for all following stroking operations. This operation uses the 'SCN' PDF operator.
Parameters
rPattern a shading pattern

10.92.3.68 void PoDoFo::PdfPainter::SetStrokingTilingPattern ( const PdfTilingPattern & rPattern )

Set the tiling pattern for all following stroking operations. This operation uses the 'SCN' PDF operator.
Parameters
rPattern a tiling pattern

10.92.3.69 void PoDoFo::PdfPainter::SetStrokingTilingPattern ( const std::string & rPatternName )

Set the tiling pattern for all following stroking operations by pattern name, Use when it's already in resources. This
operation uses the 'SCN' PDF operator.
Parameters
rPatternName a tiling pattern name

10.92.3.70 void PoDoFo::PdfPainter::SetTabWidth ( unsigned short nTabWidth ) [inline]

Set the tab width for the DrawText operation. Every tab '\t' is replaced with nTabWidth spaces before drawing text.
Default is a value of 4
Parameters
nTabWidth replace every tabulator by this much spaces

See also

DrawText
TabWidth

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 327

10.92.3.71 void PoDoFo::PdfPainter::SetTextRenderingMode ( EPdfTextRenderingMode mode )

Set the text rendering mode

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


328 Class Documentation

Parameters
mode What text rendering mode to use.

Possible values: ePdfTextRenderingMode_Fill (default mode) ePdfTextRenderingMode_Stroke ePdfText←-


RenderingMode_FillAndStroke ePdfTextRenderingMode_Invisible ePdfTextRenderingMode_FillToClipPath ePdf←-
TextRenderingMode_StrokeToClipPath ePdfTextRenderingMode_FillAndStrokeToClipPath ePdfTextRendering←-
Mode_ToClipPath

10.92.3.72 void PoDoFo::PdfPainter::SetTilingPattern ( const PdfTilingPattern & rPattern )

Set the tiling pattern for all following non-stroking operations. This operation uses the 'scn' PDF operator.
Parameters
rPattern a tiling pattern

10.92.3.73 void PoDoFo::PdfPainter::SetTilingPattern ( const std::string & rPatternName )

Set the tiling pattern for all following non-stroking operations by pattern name. Use when it's already in resources.
This operation uses the 'scn' PDF operator.
Parameters
rPattern a tiling pattern

10.92.3.74 void PoDoFo::PdfPainter::SetTransformationMatrix ( double a, double b, double c, double d, double e, double f )

Set the transformation matrix for the current coordinate system See the operator 'cm' in PDF.
The six parameters are a standard 3x3 transformation matrix where the 3 left parameters are 0 0 1.
Parameters
a scale in x direction
b rotation
c rotation
d scale in y direction
e translate in x direction
f translate in y direction

See also

Save()
Restore()

10.92.3.75 void PoDoFo::PdfPainter::SmoothCurveTo ( double dX2, double dY2, double dX3, double dY3 )

Append a smooth bezier curve to the current path Matches the SVG 'S' operator.
Parameters
dX2 x coordinate of the second control point
dY2 y coordinate of the second control point
dX3 x coordinate of the end point, which is the new current point
dY3 y coordinate of the end point, which is the new current point

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.92 PoDoFo::PdfPainter Class Reference 329

10.92.3.76 void PoDoFo::PdfPainter::SmoothQuadCurveTo ( double dX3, double dY3 )

Append a smooth quadratic bezier curve to the current path Matches the SVG 'T' operator.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


330 Class Documentation

Parameters
dX3 x coordinate of the end point, which is the new current point
dY3 y coordinate of the end point, which is the new current point

10.92.3.77 void PoDoFo::PdfPainter::Stroke ( )

Stroke the current path. Matches the PDF 'S' operator. This function is useful to construct an own path for drawing
or clipping.

10.92.3.78 void PoDoFo::PdfPainter::VerticalLineTo ( double dY )

Append a vertical line to the current path Matches the SVG 'V' operator
Parameters
dY y coordinate to draw the line to

10.92.4 Member Data Documentation

10.92.4.1 PdfColor PoDoFo::PdfPainter::m_curColor [protected]

Save the current color for non stroking colors

10.92.4.2 std::ostringstream PoDoFo::PdfPainter::m_curPath [protected]

current path

10.92.4.3 bool PoDoFo::PdfPainter::m_isTextOpen [protected]

Is between BT and ET

10.92.4.4 unsigned short PoDoFo::PdfPainter::m_nTabWidth [protected]

Every tab '\t' is replaced with m_nTabWidth spaces before drawing text. Default is a value of 4

10.92.4.5 std::ostringstream PoDoFo::PdfPainter::m_oss [protected]

temporary stream buffer

10.92.4.6 PdfStream∗ PoDoFo::PdfPainter::m_pCanvas [protected]

All drawing operations work on this stream. This object may not be NULL. If it is NULL any function accessing it
should return ERROR_PDF_INVALID_HANDLE

10.92.4.7 PdfFont∗ PoDoFo::PdfPainter::m_pFont [protected]

Font for all drawing operations

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.93 PoDoFo::PdfPainterMM Class Reference 331

10.92.4.8 PdfCanvas∗ PoDoFo::PdfPainter::m_pPage [protected]

The page object is needed so that fonts etc. can be added to the page resource dictionary as appropriate.

10.93 PoDoFo::PdfPainterMM Class Reference

#include <PdfPainterMM.h>
Inheritance diagram for PoDoFo::PdfPainterMM:

PoDoFo::PdfPainter

PoDoFo::PdfPainterMM

Public Member Functions

• PdfPainterMM ()
• void SetStrokeWidthMM (long lWidth)
• void DrawLineMM (long lStartX, long lStartY, long lEndX, long lEndY)
• void RectangleMM (long lX, long lY, long lWidth, long lHeight)
• void EllipseMM (long lX, long lY, long lWidth, long lHeight)
• void DrawTextMM (long lX, long lY, const PdfString &sText)
• void DrawTextMM (long lX, long lY, const PdfString &sText, long lLen)
• void DrawImageMM (long lX, long lY, PdfImage ∗pObject, double dScaleX=1.0, double dScaleY=1.0)
• void DrawXObjectMM (long lX, long lY, PdfXObject ∗pObject, double dScaleX=1.0, double dScaleY=1.0)
• void LineToMM (long lX, long lY)
• void MoveToMM (long lX, long lY)

Additional Inherited Members

10.93.1 Detailed Description

This class provides an easy to use painter object which allows you to draw on a PDF page object.
During all drawing operations, you are still able to access the stream of the object you are drawing on directly.
This painter takes all coordinates in 1/1000th mm instead of PDF units.
Developer note: we use ownership rather than inheritance here, so as to use the same methods names a PdfPainter
AND avoid compiler confusion on picking the right one.

See also

PdfPainter

10.93.2 Constructor & Destructor Documentation

10.93.2.1 PoDoFo::PdfPainterMM::PdfPainterMM ( ) [inline]

Create a new PdfPainterMM object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


332 Class Documentation

10.93.3 Member Function Documentation

10.93.3.1 void PoDoFo::PdfPainterMM::DrawImageMM ( long lX, long lY, PdfImage ∗ pObject, double dScaleX = 1.0,
double dScaleY = 1.0 ) [inline]

Draw an image on the current page.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.93 PoDoFo::PdfPainterMM Class Reference 333

Parameters
lX the x coordinate (bottom left position of the image)
lY the y coordinate (bottom position of the image)
pObject an PdfXObject
dScaleX option scaling factor in x direction
dScaleY option scaling factor in y direction

10.93.3.2 void PoDoFo::PdfPainterMM::DrawLineMM ( long lStartX, long lStartY, long lEndX, long lEndY ) [inline]

Draw a line with the current color and line settings.


Parameters
lStartX x coordinate of the starting point
lStartY y coordinate of the starting point
lEndX x coordinate of the ending point
lEndY y coordinate of the ending point

10.93.3.3 void PoDoFo::PdfPainterMM::DrawTextMM ( long lX, long lY, const PdfString & sText ) [inline]

Draw a text string on a page using a given font object. You have to call SetFont before calling this function.
Parameters
lX the x coordinate
lY the y coordinate
sText the text string which should be printed

See also

PdfPainter::SetFont()

10.93.3.4 void PoDoFo::PdfPainterMM::DrawTextMM ( long lX, long lY, const PdfString & sText, long lLen ) [inline]

Draw a text string on a page using a given font object. You have to call SetFont before calling this function.
Parameters
lX the x coordinate
lY the y coordinate
sText the text string which should be printed (is not allowed to be NULL!)
lLen draw only lLen characters of pszText

See also

PdfPainter::SetFont()

10.93.3.5 void PoDoFo::PdfPainterMM::DrawXObjectMM ( long lX, long lY, PdfXObject ∗ pObject, double dScaleX = 1.0,
double dScaleY = 1.0 ) [inline]

Draw an XObject on the current page.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


334 Class Documentation

Parameters
lX the x coordinate (bottom left position of the XObject)
lY the y coordinate (bottom position of the XObject)
pObject an PdfXObject
dScaleX option scaling factor in x direction
dScaleY option scaling factor in y direction

10.93.3.6 void PoDoFo::PdfPainterMM::EllipseMM ( long lX, long lY, long lWidth, long lHeight ) [inline]

Add an ellipse into the current path


Parameters
lX x coordinate of the ellipse (left coordinate)
lY y coordinate of the ellipse (top coordinate)
lWidth width of the ellipse
lHeight absolute height of the ellipse

10.93.3.7 void PoDoFo::PdfPainterMM::LineToMM ( long lX, long lY ) [inline]

Append a line segment to the current path. Matches the PDF 'l' operator. This function is useful to construct an own
path for drawing or clipping.
Parameters
lX x position
lY y position

10.93.3.8 void PoDoFo::PdfPainterMM::MoveToMM ( long lX, long lY ) [inline]

Begin a new path. Matches the PDF 'm' operator. This function is useful to construct an own path for drawing or
clipping.
Parameters
lX x position
lY y position

10.93.3.9 void PoDoFo::PdfPainterMM::RectangleMM ( long lX, long lY, long lWidth, long lHeight ) [inline]

Add a rectangle into the current path


Parameters
lX x coordinate of the rectangle
lY y coordinate of the rectangle
lWidth width of the rectangle
lHeight absolute height of the rectangle

10.93.3.10 void PoDoFo::PdfPainterMM::SetStrokeWidthMM ( long lWidth ) [inline]

Set the line width for all stroking operations.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.94 PoDoFo::PdfParser Class Reference 335

Parameters
lWidth in 1/1000th mm

10.94 PoDoFo::PdfParser Class Reference

#include <PdfParser.h>
Inheritance diagram for PoDoFo::PdfParser:

PoDoFo::PdfTokenizer

PoDoFo::PdfParser

Public Member Functions

• PdfParser (PdfVecObjects ∗pVecObjects)


• PdfParser (PdfVecObjects ∗pVecObjects, const char ∗pszFilename, bool bLoadOnDemand=true)
• PdfParser (PdfVecObjects ∗pVecObjects, const char ∗pBuffer, long lLen, bool bLoadOnDemand=true)
• PdfParser (PdfVecObjects ∗pVecObjects, const PdfRefCountedInputDevice &rDevice, bool bLoadOn←-
Demand=true)
• virtual ∼PdfParser ()
• void ParseFile (const char ∗pszFilename, bool bLoadOnDemand=true)
• void ParseFile (const char ∗pBuffer, long lLen, bool bLoadOnDemand=true)
• void ParseFile (const PdfRefCountedInputDevice &rDevice, bool bLoadOnDemand=true)
• bool QuickEncryptedCheck (const char ∗pszFilename)
• int GetNumberOfIncrementalUpdates () const
• const PdfVecObjects ∗ GetObjects () const
• EPdfVersion GetPdfVersion () const
• const char ∗ GetPdfVersionString () const
• const PdfObject ∗ GetTrailer () const
• bool GetLoadOnDemand () const
• bool IsLinearized () const
• size_t GetFileSize () const
• bool GetEncrypted () const
• const PdfEncrypt ∗ GetEncrypt () const
• PdfEncrypt ∗ TakeEncrypt ()
• void SetPassword (const std::string &sPassword)
• bool IsStrictParsing () const
• void SetStrictParsing (bool bStrict)
• bool GetIgnoreBrokenObjects ()
• void SetIgnoreBrokenObjects (bool bBroken)

Static Public Member Functions

• static long GetMaxObjectCount ()


• static void SetMaxObjectCount (long nMaxObjects)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


336 Class Documentation

Protected Member Functions

• void FindToken (const char ∗pszToken, const long lRange)


• void FindToken2 (const char ∗pszToken, const long lRange, size_t searchEnd)
• void ReadDocumentStructure ()
• void HasLinearizationDict ()
• void MergeTrailer (const PdfObject ∗pTrailer)
• void ReadTrailer ()
• void ReadXRef (pdf_long ∗pXRefOffset)
• void ReadXRefContents (pdf_long lOffset, bool bPositionAtEnd=false)
• void ReadXRefSubsection (pdf_int64 &nFirstObject, pdf_int64 &nNumObjects)
• void ReadXRefStreamContents (pdf_long lOffset, bool bReadOnlyTrailer)
• void ReadObjects ()
• void ReadObjectsInternal ()
• void ReadObjectFromStream (int nObjNo, int nIndex)
• bool IsPdfFile ()
• void CheckEOFMarker ()

Additional Inherited Members

10.94.1 Detailed Description

PdfParser reads a PDF file into memory. The file can be modified in memory and written back using the PdfWriter
class. Most PDF features are supported

10.94.2 Constructor & Destructor Documentation

10.94.2.1 PoDoFo::PdfParser::PdfParser ( PdfVecObjects ∗ pVecObjects )

Create a new PdfParser object You have to open a PDF file using ParseFile later.
Parameters
pVecObjects vector to write the parsed PdfObjects to

See also

ParseFile

10.94.2.2 PoDoFo::PdfParser::PdfParser ( PdfVecObjects ∗ pVecObjects, const char ∗ pszFilename, bool bLoadOnDemand


= true )

Create a new PdfParser object and open a PDF file and parse it into memory.
Parameters
pVecObjects vector to write the parsed PdfObjects to
pszFilename filename of the file which is going to be parsed
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.94 PoDoFo::PdfParser Class Reference 337

10.94.2.3 PoDoFo::PdfParser::PdfParser ( PdfVecObjects ∗ pVecObjects, const char ∗ pBuffer, long lLen, bool
bLoadOnDemand = true )

Create a new PdfParser object and open a PDF file and parse it into memory.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


338 Class Documentation

Parameters
pVecObjects vector to write the parsed PdfObjects to
pBuffer buffer containing a PDF file in memory
lLen length of the buffer containing the PDF file
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

10.94.2.4 PoDoFo::PdfParser::PdfParser ( PdfVecObjects ∗ pVecObjects, const PdfRefCountedInputDevice & rDevice,


bool bLoadOnDemand = true )

Create a new PdfParser object and open a PDF file and parse it into memory.
Parameters
pVecObjects vector to write the parsed PdfObjects to
rDevice read from this PdfRefCountedInputDevice
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

10.94.2.5 PoDoFo::PdfParser::∼PdfParser ( ) [virtual]

Delete the PdfParser and all PdfObjects

10.94.3 Member Function Documentation

10.94.3.1 void PoDoFo::PdfParser::CheckEOFMarker ( ) [protected]

Checks for the existence of the %EOF marker at the end of the file. When strict mode is off it will also attempt to
setup the parser to ignore any garbage after the last %EOF marker. Simply raises an error if there is a problem with
the marker.

10.94.3.2 void PoDoFo::PdfParser::FindToken ( const char ∗ pszToken, const long lRange ) [protected]

Searches backwards from the end of the file and tries to find a token. The current file is positioned right after the
token.
Parameters
pszToken a token to find
lRange range in bytes in which to search begining at the end of the file

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.94 PoDoFo::PdfParser Class Reference 339

10.94.3.3 void PoDoFo::PdfParser::FindToken2 ( const char ∗ pszToken, const long lRange, size_t searchEnd )
[protected]

Searches backwards from the specified position of the file and tries to find a token. The current file is positioned
right after the token.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


340 Class Documentation

Parameters
pszToken a token to find
lRange range in bytes in which to search begining at the specified position of the file
searchEnd specifies position

10.94.3.4 const PdfEncrypt∗ PoDoFo::PdfParser::GetEncrypt ( ) const [inline]

Returns

the parsers encryption object or NULL if the read PDF file was not encrypted

10.94.3.5 bool PoDoFo::PdfParser::GetEncrypted ( ) const [inline]

Returns

true if this PdfWriter creates an encrypted PDF file

10.94.3.6 size_t PoDoFo::PdfParser::GetFileSize ( ) const [inline]

Returns

the length of the file

10.94.3.7 bool PoDoFo::PdfParser::GetIgnoreBrokenObjects ( ) [inline]

Returns

if broken objects are ignored while parsing

10.94.3.8 bool PoDoFo::PdfParser::GetLoadOnDemand ( ) const [inline]

Returns

true if this PdfParser loads all objects on demand at the time they are accessed for the first time. The default
is to load all object immediately. In this case false is returned.

10.94.3.9 long PoDoFo::PdfParser::GetMaxObjectCount ( ) [inline], [static]

Returns

maximum object count to read (default is LONG_MAX which means no limit)

10.94.3.10 int PoDoFo::PdfParser::GetNumberOfIncrementalUpdates ( ) const [inline]

Retrieve the number of incremental updates that have been applied to the last parsed PDF file.
0 means no update has been applied.

Returns

the number of incremental updates to the parsed PDF.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.94 PoDoFo::PdfParser Class Reference 341

10.94.3.11 const PdfVecObjects ∗ PoDoFo::PdfParser::GetObjects ( ) const [inline]

Get a reference to the sorted internal objects vector.

Returns

the internal objects vector.

10.94.3.12 EPdfVersion PoDoFo::PdfParser::GetPdfVersion ( ) const [inline]

Get the file format version of the pdf

Returns

the file format version as enum

10.94.3.13 const char ∗ PoDoFo::PdfParser::GetPdfVersionString ( ) const

Get the file format version of the pdf

Returns

the file format version as string

10.94.3.14 const PdfObject ∗ PoDoFo::PdfParser::GetTrailer ( ) const [inline]

Get the trailer dictionary which can be written unmodified to a pdf file.

10.94.3.15 void PoDoFo::PdfParser::HasLinearizationDict ( ) [protected]

Checks wether this pdf is linearized or not. Initializes the linearization directory on sucess.

10.94.3.16 bool PoDoFo::PdfParser::IsLinearized ( ) const [inline]

Returns

whether the parsed document contains linearization tables

10.94.3.17 bool PoDoFo::PdfParser::IsPdfFile ( ) [protected]

Checks the magic number at the start of the pdf file and sets the m_ePdfVersion member to the correct version of
the pdf file.

Returns

true if this is a pdf file, otherwise false

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


342 Class Documentation

10.94.3.18 bool PoDoFo::PdfParser::IsStrictParsing ( ) const [inline]

Returns

true if strict parsing mode is enabled

See also

SetStringParsing

10.94.3.19 void PoDoFo::PdfParser::MergeTrailer ( const PdfObject ∗ pTrailer ) [protected]

Merge the information of this trailer object in the parsers main trailer object.
Parameters
pTrailer take the keys to merge from this dictionary.

10.94.3.20 void PoDoFo::PdfParser::ParseFile ( const char ∗ pszFilename, bool bLoadOnDemand = true )

Open a PDF file and parse it.


Parameters
pszFilename filename of the file which is going to be parsed
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

10.94.3.21 void PoDoFo::PdfParser::ParseFile ( const char ∗ pBuffer, long lLen, bool bLoadOnDemand = true )

Open a PDF file and parse it.


Parameters
pBuffer buffer containing a PDF file in memory
lLen length of the buffer containing the PDF file
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

10.94.3.22 void PoDoFo::PdfParser::ParseFile ( const PdfRefCountedInputDevice & rDevice, bool bLoadOnDemand =


true )

Open a PDF file and parse it.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.94 PoDoFo::PdfParser Class Reference 343

Parameters
rDevice the input device to read from
bLoadOn←- If true all objects will be read from the file at the time they are accessed first. If false all objects
Demand will be read immediately. This is faster if you do not need the complete PDF file in memory.

This might throw a PdfError( ePdfError_InvalidPassword ) exception if a password is required to read this PDF. Call
SetPassword() with the correct password in this case.

See also

SetPassword

10.94.3.23 bool PoDoFo::PdfParser::QuickEncryptedCheck ( const char ∗ pszFilename )

Quick method to detect secured PDF files, i.e. a PDF with an /Encrypt key in the trailer directory.

Returns

true if document is secured, false otherwise

10.94.3.24 void PoDoFo::PdfParser::ReadDocumentStructure ( ) [protected]

Reads the xref sections and the trailers of the file in the correct order in the memory and takes care for linearized
pdf files.

10.94.3.25 void PoDoFo::PdfParser::ReadObjectFromStream ( int nObjNo, int nIndex ) [protected]

Read the object with index nIndex from the object stream nObjNo and push it on the objects vector m_vecOffsets.
All objects are read from this stream and the stream object is free'd from memory. Further calls who try to read from
the same stream simply do nothing.
Parameters
nObjNo object number of the stream object
nIndex index of the object which should be parsed

10.94.3.26 void PoDoFo::PdfParser::ReadObjects ( ) [protected]

Reads all objects from the pdf into memory from the offsets listed in m_vecOffsets.
If required an encryption object is setup first.
The actual reading happens in ReadObjectsInternal() either if no encryption is required or a correct encryption
object was initialized from SetPassword.

10.94.3.27 void PoDoFo::PdfParser::ReadObjectsInternal ( ) [protected]

Reads all objects from the pdf into memory from the offsets listed in m_vecOffsets.
Requires a correctly setup PdfEncrypt object with correct password.
This method is called from ReadObjects or SetPassword.

See also

ReadObjects
SetPassword

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


344 Class Documentation

10.94.3.28 void PoDoFo::PdfParser::ReadTrailer ( ) [protected]

Read the trailer directory at the end of the file.

10.94.3.29 void PoDoFo::PdfParser::ReadXRef ( pdf_long ∗ pXRefOffset ) [protected]

Looks for a startxref entry at the current file position and saves its byteoffset to pXRefOffset.
Parameters
pXRefOffset store the byte offset of the xref section into this variable.

10.94.3.30 void PoDoFo::PdfParser::ReadXRefContents ( pdf_long lOffset, bool bPositionAtEnd = false )


[protected]

Reads the xref table from a pdf file. If there is no xref table, ReadXRefStreamContents() is called.
Parameters
lOffset read the table from this offset
bPositionAtEnd if true the xref table is not read, but the file stream is positioned directly after the table, which
allows reading a following trailer dictionary.

10.94.3.31 void PoDoFo::PdfParser::ReadXRefStreamContents ( pdf_long lOffset, bool bReadOnlyTrailer ) [protected]

Reads a xref stream contens object


Parameters
lOffset read the stream from this offset
bReadOnly←- only the trailer is skipped over, the contents of the xref stream are not parsed
Trailer

10.94.3.32 void PoDoFo::PdfParser::ReadXRefSubsection ( pdf_int64 & nFirstObject, pdf_int64 & nNumObjects )


[protected]

Read a xref subsection


Throws ePdfError_NoXref if the number of objects read was not the number specified by the subsection header (as
passed in ‘nNumObjects').
Parameters
nFirstObject object number of the first object
nNumObjects how many objects should be read from this section

10.94.3.33 void PoDoFo::PdfParser::SetIgnoreBrokenObjects ( bool bBroken ) [inline]

Specify if the parser should ignore broken objects, i.e. XRef entries that do not point to valid objects.
Default is to not ignore broken objects and throw an exception if one is found.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.95 PoDoFo::PdfParserObject Class Reference 345

Parameters
bBroken if true broken objects will be ignored

10.94.3.34 void PoDoFo::PdfParser::SetMaxObjectCount ( long nMaxObjects ) [inline], [static]

Specify the maximum number of objects the parser should read. An exception is thrown if document contains more
objects than this. Use to avoid problems with very large documents with millions of objects, which use 500MB of
working set and spend 15 mins in Load() before throwing an out of memory exception.
Parameters
nMaxObjects set max number of objects

10.94.3.35 void PoDoFo::PdfParser::SetPassword ( const std::string & sPassword )

If you try to open an encrypted PDF file, which requires a password to open, PoDoFo will throw a PdfError( ePdf←-
Error_InvalidPassword ) exception.
If you got such an exception, you have to set a password which should be used for opening the PDF.
The usual way will be to ask the user for the password and set the password using this method.
PdfParser will immediately continue to read the PDF file.
Parameters
sPassword a user or owner password which can be used to open an encrypted PDF file If the password
is invalid, a PdfError( ePdfError_InvalidPassword ) exception is thrown!

10.94.3.36 void PoDoFo::PdfParser::SetStrictParsing ( bool bStrict ) [inline]

Enable/disable strict parsing mode. Strict parsing is by default disabled.


If you enable strict parsing, PoDoFo will fail on a few more common PDF failures. Please note that PoDoFo's parser
is by default very strict already and does not recover from e.g. wrong XREF tables.
Parameters
bStrict new setting for strict parsing mode.

10.94.3.37 PdfEncrypt ∗ PoDoFo::PdfParser::TakeEncrypt ( ) [inline]

Gives the encryption object from the parser. The internal handle will be set to NULL and the ownership of the object
is given to the caller.
Only call this if you need access to the encryption object before deleting the parser.

Returns

the parser's encryption object, or NULL if the read PDF file was not encrypted.

10.95 PoDoFo::PdfParserObject Class Reference

#include <PdfParserObject.h>
Inheritance diagram for PoDoFo::PdfParserObject:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


346 Class Documentation

PoDoFo::PdfVariant

PoDoFo::PdfObject PoDoFo::PdfTokenizer

PoDoFo::PdfParserObject

PoDoFo::PdfXRefStreamParserObject

Public Member Functions

• PdfParserObject (PdfVecObjects ∗pCreator, const PdfRefCountedInputDevice &rDevice, const PdfRef←-


CountedBuffer &rBuffer, pdf_long lOffset=-1)
• PdfParserObject (const PdfRefCountedBuffer &rBuffer)
• void ParseFile (PdfEncrypt ∗pEncrypt, bool bIsTrailer=false)
• bool HasStreamToParse () const
• bool IsLoadOnDemand () const
• void SetLoadOnDemand (bool bDelayed)
• void SetObjectNumber (unsigned int nObjNo)
• void FreeObjectMemory (bool bForce=false)

Protected Member Functions

• virtual void DelayedLoadImpl ()


• virtual void DelayedStreamLoadImpl ()
• void ParseStream ()

Additional Inherited Members

10.95.1 Detailed Description

A PdfParserObject constructs a PdfObject from a PDF file. Parsing starts always at the current file position.

10.95.2 Constructor & Destructor Documentation

10.95.2.1 PoDoFo::PdfParserObject::PdfParserObject ( PdfVecObjects ∗ pCreator, const PdfRefCountedInputDevice &


rDevice, const PdfRefCountedBuffer & rBuffer, pdf_long lOffset = -1 )

Parse the object data from the given file handle starting at the current position.
Parameters
pCreator pointer to a PdfVecObjects to resolve object references
rDevice an open reference counted input device which is positioned in front of the object which is
going to be parsed.
rBuffer buffer to use for parsing to avoid reallocations
lOffset the position in the device from which the object shall be read if lOffset = -1, the object will be
read from the current position in the file.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.95 PoDoFo::PdfParserObject Class Reference 347

10.95.2.2 PoDoFo::PdfParserObject::PdfParserObject ( const PdfRefCountedBuffer & rBuffer ) [explicit]

Parse the object data for an internal object. You have to call ParseDictionaryKeys as next function call.
The following two parameters are used to avoid allocation of a new buffer in PdfSimpleParser.

Warning

This constructor is for internal usage only!

Parameters
rBuffer buffer to use for parsing to avoid reallocations

10.95.3 Member Function Documentation

10.95.3.1 void PoDoFo::PdfParserObject::DelayedLoadImpl ( ) [protected], [virtual]

Load all data of the object if load object on demand is enabled. Reimplemented from PdfVariant. Do not call this
directly, use DelayedLoad().
Reimplemented from PoDoFo::PdfVariant.

10.95.3.2 void PoDoFo::PdfParserObject::DelayedStreamLoadImpl ( ) [protected], [virtual]

Load the stream of the object if it has one and if loading on demand is enabled. Reimplemented from PdfObject.
Do not call this directly, use DelayedStreamLoad().
Reimplemented from PoDoFo::PdfObject.

10.95.3.3 void PoDoFo::PdfParserObject::FreeObjectMemory ( bool bForce = false )

Tries to free all memory allocated by this PdfObject (variables and streams) and reads it from disk again if it is
requested another time.
This will only work if load on demand is used. If the object is dirty if will not be free'd.
Parameters
bForce if true the object will be free'd even if IsDirty() returns true. So you will loose any changes
made to this object.

See also

IsLoadOnDemand
IsDirty

10.95.3.4 bool PoDoFo::PdfParserObject::HasStreamToParse ( ) const [inline]

Returns if this object has a stream object appended. which has to be parsed.

Returns

true if there is a stream

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


348 Class Documentation

10.95.3.5 bool PoDoFo::PdfParserObject::IsLoadOnDemand ( ) const [inline]

Returns

true if this PdfParser loads all objects at the time they are accessed for the first time. The default is to load all
object immediately. In this case false is returned.

10.95.3.6 void PoDoFo::PdfParserObject::ParseFile ( PdfEncrypt ∗ pEncrypt, bool bIsTrailer = false )

Parse the object data from the given file handle If delayed loading is enabled, only the object and generation number
is read now and everything else is read later.
Parameters
pEncrypt an encryption dictionary which is used to decrypt strings and streams during parsing or N←-
ULL if the PDF file was not encrypted
bIsTrailer wether this is a trailer dictionary or not. trailer dictionaries do not have a object number etc.

10.95.3.7 void PoDoFo::PdfParserObject::ParseStream ( ) [protected]

Starts reading at the file position m_lStreamOffset and interprets all bytes as contents of the objects stream. It is
assumed that the dictionary has a valid /Length key already.
Called from DelayedStreamLoadImpl(). Do not call directly.

10.95.3.8 void PoDoFo::PdfParserObject::SetLoadOnDemand ( bool bDelayed ) [inline]

Sets wether this object shall be loaded on demand when it's data is accessed for the first time.
Parameters
bDelayed if true the object is loaded delayed.

10.95.3.9 void PoDoFo::PdfParserObject::SetObjectNumber ( unsigned int nObjNo ) [inline]

Set the object number of this object. It is almost never necessary to use this call. It is only included for usage in the
PdfParser.
Parameters
nObjNo the new object number of this object

10.96 PoDoFo::PdfPredictorDecoder Class Reference

10.96.1 Detailed Description

This structur contains all necessary values for a FlateDecode and LZWDecode Predictor. These values are normally
stored in the /DecodeParams key of a PDF dictionary.

10.97 PoDoFo::PdfPushButton Class Reference

#include <PdfField.h>
Inherits PoDoFo::PdfButton.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.97 PoDoFo::PdfPushButton Class Reference 349

Public Member Functions

• PdfPushButton (PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfPushButton (PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfPushButton (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfPushButton (PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)
• PdfPushButton (const PdfField &rhs)
• void SetRolloverCaption (const PdfString &rsText)
• const PdfString GetRolloverCaption () const
• void SetAlternateCaption (const PdfString &rsText)
• const PdfString GetAlternateCaption () const

10.97.1 Detailed Description

A push button is a button which has no state and value but can toggle actions.

10.97.2 Constructor & Destructor Documentation

10.97.2.1 PoDoFo::PdfPushButton::PdfPushButton ( PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )

Create a new PdfPushButton

10.97.2.2 PoDoFo::PdfPushButton::PdfPushButton ( PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm ∗ pParent )

Create a new PdfPushButton

10.97.2.3 PoDoFo::PdfPushButton::PdfPushButton ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗ pDoc )

Create a new PdfPushButton

10.97.2.4 PoDoFo::PdfPushButton::PdfPushButton ( PdfPage ∗ pPage, const PdfRect & rRect, PdfStreamedDocument


∗ pDoc )

Create a new PdfPushButton

10.97.2.5 PoDoFo::PdfPushButton::PdfPushButton ( const PdfField & rhs )

Create a PdfPushButton from a PdfField


Parameters
rhs a PdfField that is a push button button

Raises an error if PdfField::GetType() != ePdfField_PushButton

10.97.3 Member Function Documentation

10.97.3.1 const PdfString PoDoFo::PdfPushButton::GetAlternateCaption ( ) const

Returns

the rollover caption of this button

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


350 Class Documentation

10.97.3.2 const PdfString PoDoFo::PdfPushButton::GetRolloverCaption ( ) const

Returns

the rollover caption of this button

10.97.3.3 void PoDoFo::PdfPushButton::SetAlternateCaption ( const PdfString & rsText )

Set the alternate caption of this button which is displayed when the button is pressed.
Parameters
rsText the caption

10.97.3.4 void PoDoFo::PdfPushButton::SetRolloverCaption ( const PdfString & rsText )

Set the rollover caption of this button which is displayed when the cursor enters the field without the mouse button
being pressed
Parameters
rsText the caption

10.98 PoDoFo::PdfRadialShadingPattern Class Reference

#include <PdfShadingPattern.h>
Inheritance diagram for PoDoFo::PdfRadialShadingPattern:

PoDoFo::PdfElement

PoDoFo::PdfShadingPattern

PoDoFo::PdfRadialShadingPattern

Public Member Functions

• PdfRadialShadingPattern (double dX0, double dY0, double dR0, double dX1, double dY1, double dR1, const
PdfColor &rStart, const PdfColor &rEnd, PdfVecObjects ∗pParent)
• PdfRadialShadingPattern (double dX0, double dY0, double dR0, double dX1, double dY1, double dR1, const
PdfColor &rStart, const PdfColor &rEnd, PdfDocument ∗pParent)

Additional Inherited Members

10.98.1 Detailed Description

A shading pattern that is a simple radial shading between two colors.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.98 PoDoFo::PdfRadialShadingPattern Class Reference 351

10.98.2 Constructor & Destructor Documentation

10.98.2.1 PoDoFo::PdfRadialShadingPattern::PdfRadialShadingPattern ( double dX0, double dY0, double dR0, double dX1,
double dY1, double dR1, const PdfColor & rStart, const PdfColor & rEnd, PdfVecObjects ∗ pParent )

Create an radial shading pattern

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


352 Class Documentation

Parameters
dX0 the inner circles x coordinate
dY0 the inner circles y coordinate
dR0 the inner circles radius
dX1 the outer circles x coordinate
dY1 the outer circles y coordinate
dR1 the outer circles radius
rStart the starting color
rEnd the ending color
pParent the parent

10.98.2.2 PoDoFo::PdfRadialShadingPattern::PdfRadialShadingPattern ( double dX0, double dY0, double dR0, double dX1,
double dY1, double dR1, const PdfColor & rStart, const PdfColor & rEnd, PdfDocument ∗ pParent )

Create an radial shading pattern


Parameters
dX0 the inner circles x coordinate
dY0 the inner circles y coordinate
dR0 the inner circles radius
dX1 the outer circles x coordinate
dY1 the outer circles y coordinate
dR1 the outer circles radius
rStart the starting color
rEnd the ending color
pParent the parent

10.99 PoDoFo::PdfRect Class Reference

#include <PdfRect.h>

Public Member Functions

• PdfRect ()
• PdfRect (double left, double bottom, double width, double height)
• PdfRect (const PdfArray &inArray)
• PdfRect (const PdfRect &rhs)
• void ToVariant (PdfVariant &var) const
• std::string ToString () const
• void FromArray (const PdfArray &inArray)
• void Intersect (const PdfRect &rRect)
• double GetBottom () const
• void SetBottom (double dBottom)
• double GetLeft () const
• void SetLeft (double lLeft)
• double GetWidth () const
• void SetWidth (double lWidth)
• double GetHeight () const
• void SetHeight (double lHeight)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.99 PoDoFo::PdfRect Class Reference 353

10.99.1 Detailed Description

A rectangle as defined by the PDF reference

10.99.2 Constructor & Destructor Documentation

10.99.2.1 PoDoFo::PdfRect::PdfRect ( )

Create an empty rectangle with bottom=left=with=height=0

10.99.2.2 PoDoFo::PdfRect::PdfRect ( double left, double bottom, double width, double height )

Create a rectangle with a given size and position All values are in PDF units NOTE: since PDF is bottom-left origined,
we pass the bottom instead of the top

10.99.2.3 PoDoFo::PdfRect::PdfRect ( const PdfArray & inArray )

Create a rectangle from an array All values are in PDF units

10.99.2.4 PoDoFo::PdfRect::PdfRect ( const PdfRect & rhs )

Copy constructor

10.99.3 Member Function Documentation

10.99.3.1 void PoDoFo::PdfRect::FromArray ( const PdfArray & inArray )

Assigns the values of this PdfRect from the 4 values in the array
Parameters
inArray the array to load the values from

10.99.3.2 double PoDoFo::PdfRect::GetBottom ( ) const [inline]

Get the bottom coordinate of the rectangle

Returns

bottom

10.99.3.3 double PoDoFo::PdfRect::GetHeight ( ) const [inline]

Get the height of the rectangle

Returns

height in PDF units

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


354 Class Documentation

10.99.3.4 double PoDoFo::PdfRect::GetLeft ( ) const [inline]

Get the left coordinate of the rectangle

Returns

left in PDF units

10.99.3.5 double PoDoFo::PdfRect::GetWidth ( ) const [inline]

Get the width of the rectangle

Returns

width in PDF units

10.99.3.6 void PoDoFo::PdfRect::Intersect ( const PdfRect & rRect )

Intersect with another rect


Parameters
rRect the rect to intersect with

10.99.3.7 void PoDoFo::PdfRect::SetBottom ( double dBottom ) [inline]

Set the bottom coordinate of the rectangle


Parameters
dBottom

10.99.3.8 void PoDoFo::PdfRect::SetHeight ( double lHeight ) [inline]

Set the height of the rectangle


Parameters
lHeight in PDF units

10.99.3.9 void PoDoFo::PdfRect::SetLeft ( double lLeft ) [inline]

Set the left coordinate of the rectangle


Parameters
lLeft in PDF units

10.99.3.10 void PoDoFo::PdfRect::SetWidth ( double lWidth ) [inline]

Set the width of the rectangle

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.100 PoDoFo::PdfRefCountedBuffer Class Reference 355

Parameters
lWidth in PDF units

10.99.3.11 std::string PoDoFo::PdfRect::ToString ( ) const

Returns a string representation of the PdfRect

Returns

std::string representation as [ left bottom right top ]

10.99.3.12 void PoDoFo::PdfRect::ToVariant ( PdfVariant & var ) const

Converts the rectangle into an array based on PDF units and adds the array into an variant.
Parameters
var the variant to store the Rect

10.100 PoDoFo::PdfRefCountedBuffer Class Reference

#include <PdfRefCountedBuffer.h>

Public Member Functions

• PdfRefCountedBuffer ()
• PdfRefCountedBuffer (char ∗pBuffer, size_t lSize)
• PdfRefCountedBuffer (size_t lSize)
• PdfRefCountedBuffer (const PdfRefCountedBuffer &rhs)
• ∼PdfRefCountedBuffer ()
• char ∗ GetBuffer () const
• size_t GetSize () const
• void Resize (size_t lSize)
• const PdfRefCountedBuffer & operator= (const PdfRefCountedBuffer &rhs)
• void SetTakePossesion (bool bTakePossession)
• bool TakePossesion () const
• bool operator== (const PdfRefCountedBuffer &rhs) const
• bool operator< (const PdfRefCountedBuffer &rhs) const
• bool operator> (const PdfRefCountedBuffer &rhs) const

10.100.1 Detailed Description

A reference counted buffer object which is deleted as soon as the last object having access to it is delteted.
The attached memory object can be resized.

10.100.2 Constructor & Destructor Documentation

10.100.2.1 PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( ) [inline]

Created an empty reference counted buffer The buffer will be initialize to NULL

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


356 Class Documentation

10.100.2.2 PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( char ∗ pBuffer, size_t lSize )

Created an reference counted buffer and use an exiting buffer The buffer will be owned by this object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.100 PoDoFo::PdfRefCountedBuffer Class Reference 357

Parameters
pBuffer a pointer to an allocated buffer
lSize size of the allocated buffer

See also

SetTakePossesion

10.100.2.3 PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( size_t lSize ) [inline]

Create a new PdfRefCountedBuffer.


Parameters
lSize buffer size

10.100.2.4 PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( const PdfRefCountedBuffer & rhs ) [inline]

Copy an existing PdfRefCountedBuffer and increase the reference count


Parameters
rhs the PdfRefCountedBuffer to copy

10.100.2.5 PoDoFo::PdfRefCountedBuffer::∼PdfRefCountedBuffer ( ) [inline]

Decrease the reference count and delete the buffer if this is the last owner

10.100.3 Member Function Documentation

10.100.3.1 char ∗ PoDoFo::PdfRefCountedBuffer::GetBuffer ( ) const [inline]

Get access to the buffer

Returns

the buffer

10.100.3.2 size_t PoDoFo::PdfRefCountedBuffer::GetSize ( ) const [inline]

Return the buffer size.

Returns

the buffer size

10.100.3.3 bool PoDoFo::PdfRefCountedBuffer::operator< ( const PdfRefCountedBuffer & rhs ) const

Compare to buffers.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


358 Class Documentation

Parameters
rhs compare to this buffer

Returns

true if this buffer is lexically littler than rhs

10.100.3.4 const PdfRefCountedBuffer & PoDoFo::PdfRefCountedBuffer::operator= ( const PdfRefCountedBuffer &


rhs )

Copy an existing PdfRefCountedBuffer and increase the reference count


Parameters
rhs the PdfRefCountedBuffer to copy

Returns

the copied object

10.100.3.5 bool PoDoFo::PdfRefCountedBuffer::operator== ( const PdfRefCountedBuffer & rhs ) const

Compare to buffers.
Parameters
rhs compare to this buffer

Returns

true if both buffers contain the same contents

10.100.3.6 bool PoDoFo::PdfRefCountedBuffer::operator> ( const PdfRefCountedBuffer & rhs ) const

Compare to buffers.
Parameters
rhs compare to this buffer

Returns

true if this buffer is lexically greater than rhs

10.100.3.7 void PoDoFo::PdfRefCountedBuffer::Resize ( size_t lSize ) [inline]

Resize the buffer to hold at least lSize bytes.


Parameters
lSize the size of bytes the buffer can at least hold

If the buffer is larger no operation is performed.

10.100.3.8 void PoDoFo::PdfRefCountedBuffer::SetTakePossesion ( bool bTakePossession ) [inline]

If the PdfRefCountedBuffer has no possesion on its buffer, it won't delete the buffer. By default the buffer is owned
and deleted by the PdfRefCountedBuffer object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.101 PoDoFo::PdfRefCountedInputDevice Class Reference 359

Parameters
bTake←- if false the buffer will not be deleted.
Possession

10.100.3.9 bool PoDoFo::PdfRefCountedBuffer::TakePossesion ( ) const [inline]

Returns

true if the buffer is owned by the PdfRefCountedBuffer and is deleted along with it.

10.101 PoDoFo::PdfRefCountedInputDevice Class Reference

#include <PdfRefCountedInputDevice.h>

Public Member Functions

• PdfRefCountedInputDevice ()
• PdfRefCountedInputDevice (const char ∗pszFilename, const char ∗pszMode)
• PdfRefCountedInputDevice (const char ∗pBuffer, size_t lLen)
• PdfRefCountedInputDevice (PdfInputDevice ∗pDevice)
• PdfRefCountedInputDevice (const PdfRefCountedInputDevice &rhs)
• ∼PdfRefCountedInputDevice ()
• PODOFO_NOTHROW PdfInputDevice ∗ Device () const
• const PdfRefCountedInputDevice & operator= (const PdfRefCountedInputDevice &rhs)

10.101.1 Detailed Description

A reference counted input device object which is closed as soon as the last object having access to it is deleted.

10.101.2 Constructor & Destructor Documentation

10.101.2.1 PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice ( )

Created an empty reference counted input device object The input device will be initialize to NULL

10.101.2.2 PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice ( const char ∗ pszFilename, const char ∗ pszMode


)

Create a new PdfRefCountedInputDevice which reads from a file. The file is opened using fopen()
Parameters
pszFilename a filename to be passed to fopen
pszMode a mode string that can be passed to fopen

10.101.2.3 PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice ( const char ∗ pBuffer, size_t lLen )

Create a new PdfRefCountedInputDevice which operates on a in memory buffer

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


360 Class Documentation

Parameters
pBuffer pointer to the buffer
lLen length of the buffer

10.101.2.4 PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice ( PdfInputDevice ∗ pDevice )

Create a new PdfRefCountedInputDevice from an PdfInputDevice


Parameters
pDevice the input device. It will be owned and deleted by this object.

10.101.2.5 PoDoFo::PdfRefCountedInputDevice::PdfRefCountedInputDevice ( const PdfRefCountedInputDevice & rhs )

Copy an existing PdfRefCountedFile and increase the reference count


Parameters
rhs the PdfRefCountedFile to copy

10.101.2.6 PoDoFo::PdfRefCountedInputDevice::∼PdfRefCountedInputDevice ( )

Decrease the reference count and close the file if this is the last owner

10.101.3 Member Function Documentation

10.101.3.1 PdfInputDevice ∗ PoDoFo::PdfRefCountedInputDevice::Device ( ) const [inline]

Get access to the file handle

Returns

the file handle

10.101.3.2 const PdfRefCountedInputDevice & PoDoFo::PdfRefCountedInputDevice::operator= ( const


PdfRefCountedInputDevice & rhs )

Copy an existing PdfRefCountedFile and increase the reference count


Parameters
rhs the PdfRefCountedFile to copy

Returns

the copied object

10.102 PoDoFo::PdfReference Class Reference

#include <PdfReference.h>
Inheritance diagram for PoDoFo::PdfReference:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.102 PoDoFo::PdfReference Class Reference 361

PoDoFo::PdfDataType

PoDoFo::PdfReference

Public Member Functions

• PdfReference ()
• PdfReference (const pdf_objnum nObjectNo, const pdf_gennum nGenerationNo)
• PdfReference (const PdfReference &rhs)
• const std::string ToString () const
• PODOFO_NOTHROW const PdfReference & operator= (const PdfReference &rhs)
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• PODOFO_NOTHROW bool operator== (const PdfReference &rhs) const
• PODOFO_NOTHROW bool operator!= (const PdfReference &rhs) const
• PODOFO_NOTHROW bool operator< (const PdfReference &rhs) const
• PODOFO_NOTHROW void SetObjectNumber (pdf_objnum o)
• PODOFO_NOTHROW pdf_objnum ObjectNumber () const
• PODOFO_NOTHROW void SetGenerationNumber (const pdf_gennum g)
• PODOFO_NOTHROW pdf_gennum GenerationNumber () const
• PODOFO_NOTHROW bool IsIndirect () const

Additional Inherited Members

10.102.1 Detailed Description

A reference is a pointer to a object in the PDF file of the form "4 0 R", where 4 is the object number and 0 is the
generation number. Every object in the PDF file can be identified this way.
This class is a indirect reference in a PDF file.

10.102.2 Constructor & Destructor Documentation

10.102.2.1 PoDoFo::PdfReference::PdfReference ( ) [inline]

Create a PdfReference with object number and generation number initialized to 0.

10.102.2.2 PoDoFo::PdfReference::PdfReference ( const pdf_objnum nObjectNo, const pdf_gennum nGenerationNo )


[inline]

Create a PdfReference to an object with a given object and generation number.


Parameters
nObjectNo the object number
nGenerationNo the generation number

10.102.2.3 PoDoFo::PdfReference::PdfReference ( const PdfReference & rhs ) [inline]

Create a copy of an existing PdfReference.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


362 Class Documentation

Parameters
rhs the object to copy

10.102.3 Member Function Documentation

10.102.3.1 pdf_gennum PoDoFo::PdfReference::GenerationNumber ( ) const [inline]

Get the generation number.

Returns

the generation number of this PdfReference

10.102.3.2 bool PoDoFo::PdfReference::IsIndirect ( ) const [inline]

Allows to check if a reference points to an indirect object.


A reference is indirect if object number and generation number are both not equal 0.

Returns

true if this reference is the reference of an indirect object.

10.102.3.3 pdf_objnum PoDoFo::PdfReference::ObjectNumber ( ) const [inline]

Get the object number.

Returns

the object number of this PdfReference

10.102.3.4 bool PoDoFo::PdfReference::operator!= ( const PdfReference & rhs ) const [inline]

Compare to PdfReference objects.

Returns

false if both reference the same object

10.102.3.5 bool PoDoFo::PdfReference::operator< ( const PdfReference & rhs ) const [inline]

Compare to PdfReference objects.

Returns

true if this reference has a smaller object and generation number

10.102.3.6 const PdfReference & PoDoFo::PdfReference::operator= ( const PdfReference & rhs ) [inline]

Assign the value of another object to this PdfReference.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.102 PoDoFo::PdfReference Class Reference 363

Parameters
rhs the object to copy

10.102.3.7 bool PoDoFo::PdfReference::operator== ( const PdfReference & rhs ) const [inline]

Compare to PdfReference objects.

Returns

true if both reference the same object

10.102.3.8 void PoDoFo::PdfReference::SetGenerationNumber ( const pdf_gennum g ) [inline]

Set the generation number of this object


Parameters
g the new generation number

10.102.3.9 void PoDoFo::PdfReference::SetObjectNumber ( pdf_objnum o ) [inline]

Set the object number of this object


Parameters
o the new object number

10.102.3.10 const std::string PoDoFo::PdfReference::ToString ( ) const

Convert the reference to a string.

Returns

a string representation of the object.

See also

PdfVariant::ToString

10.102.3.11 void PoDoFo::PdfReference::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const [virtual]

Write the complete variant to an output device. This is an overloaded member function.
Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implements PoDoFo::PdfDataType.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


364 Class Documentation

10.103 PoDoFo::PdfRLEFilter Class Reference

#include <PdfFiltersPrivate.h>
Inheritance diagram for PoDoFo::PdfRLEFilter:

PoDoFo::PdfFilter

PoDoFo::PdfRLEFilter

Public Member Functions

• virtual bool CanEncode () const


• virtual void BeginEncodeImpl ()
• virtual void EncodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual void EndEncodeImpl ()
• virtual bool CanDecode () const
• virtual void BeginDecodeImpl (const PdfDictionary ∗)
• virtual void DecodeBlockImpl (const char ∗pBuffer, pdf_long lLen)
• virtual EPdfFilter GetType () const

Additional Inherited Members

10.103.1 Detailed Description

The RLE filter.

10.103.2 Member Function Documentation

10.103.2.1 void PoDoFo::PdfRLEFilter::BeginDecodeImpl ( const PdfDictionary ∗ ) [virtual]

Real implementation of ‘BeginDecode()'. NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for decoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndDecode() was called since
the last BeginDecode()/DecodeBlock().

See also

BeginDecode

Reimplemented from PoDoFo::PdfFilter.

10.103.2.2 void PoDoFo::PdfRLEFilter::BeginEncodeImpl ( ) [virtual]

Real implementation of BeginEncode(). NEVER call this method directly.


By default this function does nothing. If your filter needs to do setup for encoding, you should override this method.
PdfFilter ensures that a valid stream is available when this method is called, and that EndEncode() was called since
the last BeginEncode()/ EncodeBlock().

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.103 PoDoFo::PdfRLEFilter Class Reference 365

See also

BeginEncode

Reimplemented from PoDoFo::PdfFilter.

10.103.2.3 bool PoDoFo::PdfRLEFilter::CanDecode ( ) const [inline], [virtual]

Check wether the decoding is implemented for this filter.

Returns

true if the filter is able to decode data

Implements PoDoFo::PdfFilter.

10.103.2.4 bool PoDoFo::PdfRLEFilter::CanEncode ( ) const [inline], [virtual]

Check wether the encoding is implemented for this filter.

Returns

true if the filter is able to encode data

Implements PoDoFo::PdfFilter.

10.103.2.5 void PoDoFo::PdfRLEFilter::DecodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Real implementation of ‘DecodeBlock()'. NEVER call this method directly.


You must override this method to decode the buffer passed by the caller.
You are not obliged to immediately process any or all of the data in the passed buffer, but you must ensure that you
have processed it and written it out by the end of EndDecodeImpl(). You must copy the buffer if you're going to store
it, as ownership is not transferred to the filter and the caller may free the buffer at any time.
PdfFilter ensures that a valid stream is available when this method is called, ensures that BeginDecode() has been
called, and ensures that EndDecode() has not been called since the last BeginDecode().

See also

DecodeBlock

Implements PoDoFo::PdfFilter.

10.103.2.6 void PoDoFo::PdfRLEFilter::EncodeBlockImpl ( const char ∗ pBuffer, pdf_long lLen ) [virtual]

Encode a block of data and write it to the PdfOutputStream specified by BeginEncodeImpl.


BeginEncodeImpl() has to be called before this function.
Parameters
pBuffer pointer to a buffer with data to encode
lLen length of data to encode.

Call EndEncodeImpl() after all data has been encoded

See also

BeginEncodeImpl
EndEncodeImpl

Implements PoDoFo::PdfFilter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


366 Class Documentation

10.103.2.7 void PoDoFo::PdfRLEFilter::EndEncodeImpl ( ) [virtual]

Finish encoding of data.

See also

BeginEncodeImpl
EncodeBlockImpl

Reimplemented from PoDoFo::PdfFilter.

10.103.2.8 EPdfFilter PoDoFo::PdfRLEFilter::GetType ( ) const [inline], [virtual]

GetType of this filter.

Returns

the GetType of this filter

Implements PoDoFo::PdfFilter.

10.104 PoDoFo::PdfSampledFunction Class Reference

#include <PdfFunction.h>
Inheritance diagram for PoDoFo::PdfSampledFunction:

PoDoFo::PdfElement

PoDoFo::PdfFunction

PoDoFo::PdfSampledFunction

Public Member Functions

• PdfSampledFunction (const PdfArray &rDomain, const PdfArray &rRange, const PdfFunction::Sample &rlst←-
Samples, PdfVecObjects ∗pParent)
• PdfSampledFunction (const PdfArray &rDomain, const PdfArray &rRange, const PdfFunction::Sample &rlst←-
Samples, PdfDocument ∗pParent)

Additional Inherited Members

10.104.1 Detailed Description

This class is a PdfSampledFunction.

10.104.2 Constructor & Destructor Documentation

10.104.2.1 PoDoFo::PdfSampledFunction::PdfSampledFunction ( const PdfArray & rDomain, const PdfArray & rRange,
const PdfFunction::Sample & rlstSamples, PdfVecObjects ∗ pParent )

Create a new PdfSampledFunction object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.105 PoDoFo::PdfShadingPattern Class Reference 367

Parameters
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rRange this array describes the output parameters of this PdfFunction. If this function has n input
parameters, this array has to contain 2∗n numbers where each number describes either the
lower or upper boundary of the output range.
rlstSamples a list of bytes which are used to build up this function sample data
pParent parent vector of objects

10.104.2.2 PoDoFo::PdfSampledFunction::PdfSampledFunction ( const PdfArray & rDomain, const PdfArray & rRange,
const PdfFunction::Sample & rlstSamples, PdfDocument ∗ pParent )

Create a new PdfSampledFunction object.


Parameters
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rRange this array describes the output parameters of this PdfFunction. If this function has n input
parameters, this array has to contain 2∗n numbers where each number describes either the
lower or upper boundary of the output range.
rlstSamples a list of bytes which are used to build up this function sample data
pParent parent document

10.105 PoDoFo::PdfShadingPattern Class Reference

#include <PdfShadingPattern.h>
Inheritance diagram for PoDoFo::PdfShadingPattern:

PoDoFo::PdfElement

PoDoFo::PdfShadingPattern

PoDoFo::PdfAxialShadingPattern PoDoFo::PdfFunctionBaseShadingPattern PoDoFo::PdfRadialShadingPattern PoDoFo::PdfTriangleShadingPattern

Public Member Functions

• const PdfName & GetIdentifier () const

Protected Member Functions

• PdfShadingPattern (EPdfShadingPatternType eShadingType, PdfVecObjects ∗pParent)


• PdfShadingPattern (EPdfShadingPatternType eShadingType, PdfDocument ∗pParent)

10.105.1 Detailed Description

This class defined a shading pattern which can be used to fill abitrary shapes with a pattern using PdfPainter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


368 Class Documentation

10.105.2 Constructor & Destructor Documentation

10.105.2.1 PoDoFo::PdfShadingPattern::PdfShadingPattern ( EPdfShadingPatternType eShadingType, PdfVecObjects ∗


pParent ) [protected]

Create a new PdfShadingPattern object which will introduce itself automatically to every page object it is used on.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.106 PoDoFo::PdfSignatureField Class Reference 369

Parameters
pParent parent vector of objects
eShadingType the type of this shading pattern

10.105.2.2 PoDoFo::PdfShadingPattern::PdfShadingPattern ( EPdfShadingPatternType eShadingType, PdfDocument ∗


pParent ) [protected]

Create a new PdfShadingPattern object which will introduce itself automatically to every page object it is used on.
Parameters
pParent parent document
eShadingType the type of this shading pattern

10.105.3 Member Function Documentation

10.105.3.1 const PdfName & PoDoFo::PdfShadingPattern::GetIdentifier ( ) const [inline]

Returns the identifier of this ShadingPattern how it is known in the pages resource dictionary.

Returns

PdfName containing the identifier (e.g. /Sh13)

10.106 PoDoFo::PdfSignatureField Class Reference

#include <PdfSignatureField.h>
Inherits PoDoFo::PdfField.

Public Member Functions

• PdfSignatureField (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)


• void SetSignature (const PdfData &signatureData)
• void SetSignatureReason (const PdfString &rsText)
• void SetSignatureLocation (const PdfString &rsText)
• void SetSignatureDate (const PdfDate &sigDate)
• void AddCertificationReference (PdfObject ∗pDocumentCatalog, EPdfCertPermission perm=ePdfCert←-
Permission_NoPerms)

10.106.1 Detailed Description

Signature field

10.106.2 Constructor & Destructor Documentation

10.106.2.1 PoDoFo::PdfSignatureField::PdfSignatureField ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗


pDoc )

Create a new PdfSignatureField

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


370 Class Documentation

10.106.3 Member Function Documentation

10.106.3.1 void PoDoFo::PdfSignatureField::AddCertificationReference ( PdfObject ∗ pDocumentCatalog,


EPdfCertPermission perm = ePdfCertPermission_NoPerms )

Add certification dictionaries and references to document catalog.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.107 PoDoFo::PdfSignOutputDevice Class Reference 371

Parameters
pDocument←- the catalog of current document
Catalog
perm document modification permission

10.106.3.2 void PoDoFo::PdfSignatureField::SetSignature ( const PdfData & signatureData )

Create space for signature


Parameters
signatureData String used to locate reserved space for signature. This string will be replaiced with signature.

Structure of the PDF file - before signing: <</ByteRange[ 0 1234567890 1234567890 1234567890]/←-
Contents<signatureData> Have to be replaiced with the following structure: <</ByteRange[ 0 count pos
count]/Contents<real signature ...0-padding>

10.106.3.3 void PoDoFo::PdfSignatureField::SetSignatureDate ( const PdfDate & sigDate )

Date of signature

10.106.3.4 void PoDoFo::PdfSignatureField::SetSignatureLocation ( const PdfString & rsText )

Set location of the signature


Parameters
rsText the location of signature

10.106.3.5 void PoDoFo::PdfSignatureField::SetSignatureReason ( const PdfString & rsText )

Set reason of the signature


Parameters
rsText the reason of signature

10.107 PoDoFo::PdfSignOutputDevice Class Reference

#include <PdfSignOutputDevice.h>
Inheritance diagram for PoDoFo::PdfSignOutputDevice:

PoDoFo::PdfOutputDevice

PoDoFo::PdfSignOutputDevice

Public Member Functions

• virtual void SetSignatureSize (size_t lSignatureSize)


• virtual size_t GetSignatureSize () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


372 Class Documentation

• virtual const PdfData ∗ GetSignatureBeacon () const


• virtual void AdjustByteRange ()
• virtual size_t ReadForSignature (char ∗pBuffer, size_t lLen)
• virtual void SetSignature (const PdfData &sigData)
• virtual size_t GetLength () const
• virtual void Print (const char ∗pszFormat,...)
• virtual void Write (const char ∗pBuffer, size_t lLen)
• virtual size_t Read (char ∗pBuffer, size_t lLen)
• virtual void Seek (size_t offset)
• virtual size_t Tell () const
• virtual void Flush ()

10.107.1 Detailed Description

Signer class
Class is used to locate place for signature in the stream. Usage:

1. Locate signature and adjust ByteRange

2. Generate signature

3. Insert new signature

10.107.2 Member Function Documentation

10.107.2.1 void PoDoFo::PdfSignOutputDevice::AdjustByteRange ( ) [virtual]

Modify ByteRange entry according to signature position

10.107.2.2 virtual void PoDoFo::PdfSignOutputDevice::Flush ( ) [inline], [virtual]

Flush the output files buffer to disk if this devices operates on a disk.
Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.3 virtual size_t PoDoFo::PdfSignOutputDevice::GetLength ( ) const [inline], [virtual]

The number of bytes written to this object.

Returns

the number of bytes written to this object.

See also

Init

Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.4 virtual const PdfData∗ PoDoFo::PdfSignOutputDevice::GetSignatureBeacon ( ) const [inline],


[virtual]

Return signature beacon

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.107 PoDoFo::PdfSignOutputDevice Class Reference 373

10.107.2.5 size_t PoDoFo::PdfSignOutputDevice::GetSignatureSize ( ) const [virtual]

Get expected size of signature.


If reserved size if zero no signatures will be added.

Returns

Total space reserved for signature.

10.107.2.6 virtual void PoDoFo::PdfSignOutputDevice::Print ( const char ∗ pszFormat, ... ) [inline], [virtual]

Write to the PdfOutputDevice. Usage is as the usage of printf.


WARNING: Do not use this for doubles or floating point values as the output might depend on the current locale.
Parameters
pszFormat a format string as you would use it with printf

See also

Write

Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.7 virtual size_t PoDoFo::PdfSignOutputDevice::Read ( char ∗ pBuffer, size_t lLen ) [inline], [virtual]

Read data from the device


Parameters
pBuffer a pointer to the data buffer
lLen length of the output buffer

Returns

Number of read bytes. Return 0 if EOF

Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.8 size_t PoDoFo::PdfSignOutputDevice::ReadForSignature ( char ∗ pBuffer, size_t lLen ) [virtual]

Read data for signature

10.107.2.9 virtual void PoDoFo::PdfSignOutputDevice::Seek ( size_t offset ) [inline], [virtual]

Seek the device to the position offset from the begining


Parameters
offset from the beginning of the file

Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.10 void PoDoFo::PdfSignOutputDevice::SetSignature ( const PdfData & sigData ) [virtual]

Embed real signature in the PDF

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


374 Class Documentation

10.107.2.11 void PoDoFo::PdfSignOutputDevice::SetSignatureSize ( size_t lSignatureSize ) [virtual]

Set string to lookup for

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.108 PoDoFo::PdfSimpleEncoding Class Reference 375

Parameters
lSignatureSize Total space reserved for signature

10.107.2.12 virtual size_t PoDoFo::PdfSignOutputDevice::Tell ( ) const [inline], [virtual]

Get the current offset from the beginning of the file.

Returns

the offset form the beginning of the file.

Reimplemented from PoDoFo::PdfOutputDevice.

10.107.2.13 void PoDoFo::PdfSignOutputDevice::Write ( const char ∗ pBuffer, size_t lLen ) [virtual]

Write data to the buffer. Use this call instead of Print if you want to write binary data to the PdfOutputDevice.
Parameters
pBuffer a pointer to the data buffer
lLen write lLen bytes of pBuffer to the PdfOutputDevice

See also

Print

Reimplemented from PoDoFo::PdfOutputDevice.

10.108 PoDoFo::PdfSimpleEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfSimpleEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfDocEncoding PoDoFo::PdfMacRomanEncoding PoDoFo::PdfStandardEncoding PoDoFo::PdfSymbolEncoding PoDoFo::PdfWinAnsiEncoding PoDoFo::PdfZapfDingbatsEncoding

PoDoFo::PdfIso88592Encoding PoDoFo::PdfWin1250Encoding

Public Member Functions

• virtual void AddToDictionary (PdfDictionary &rDictionary) const


• virtual PdfString ConvertToUnicode (const PdfString &rEncodedString, const PdfFont ∗pFont) const
• virtual PdfRefCountedBuffer ConvertToEncoding (const PdfString &rString, const PdfFont ∗pFont) const
• virtual bool IsAutoDelete () const
• virtual bool IsSingleByteEncoding () const
• const PdfName & GetName () const
• virtual pdf_utf16be GetCharCode (int nIndex) const

Protected Member Functions

• virtual const PdfName & GetID () const


• virtual const pdf_utf16be ∗ GetToUnicodeTable () const =0

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


376 Class Documentation

Protected Attributes

• Util::PdfMutex ∗ m_mutex
Mutex for the creation of the encoding table.

10.108.1 Detailed Description

A common base class for standard PdfEncoding which are known by name.

• PdfDocEncoding (only use this for strings which are not printed in the document. This is for meta data in the
PDF).

• MacRomanEncoding

• WinAnsiEncoding

• MacExpertEncoding

• StandardEncoding

• SymbolEncoding

• ZapfDingbatsEncoding

See also

PdfWinAnsiEncoding
PdfMacRomanEncoding
PdfMacExportEncoding ..
PdfStandardEncoding
PdfSymbolEncoding
PdfZapfDingbatsEncoding

10.108.2 Member Function Documentation

10.108.2.1 void PoDoFo::PdfSimpleEncoding::AddToDictionary ( PdfDictionary & rDictionary ) const [virtual]

Add this encoding object to a dictionary usually be adding an /Encoding key in font dictionaries.
Parameters
rDictionary add the encoding to this dictionary

Implements PoDoFo::PdfEncoding.
Reimplemented in PoDoFo::PdfWinAnsiEncoding.

10.108.2.2 PdfRefCountedBuffer PoDoFo::PdfSimpleEncoding::ConvertToEncoding ( const PdfString & rString, const


PdfFont ∗ pFont ) const [virtual]

Convert a unicode PdfString to a string encoded with this encoding.


Parameters
rString an unicode PdfString.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.108 PoDoFo::PdfSimpleEncoding Class Reference 377

pFont the font for which this string is converted

Returns

an encoded PdfRefCountedBuffer. The PdfRefCountedBuffer is treated as a series of bytes and is allowed to


have 0 bytes. The returned buffer must not be a unicode string.

Reimplemented from PoDoFo::PdfEncoding.

10.108.2.3 PdfString PoDoFo::PdfSimpleEncoding::ConvertToUnicode ( const PdfString & rEncodedString, const


PdfFont ∗ pFont ) const [virtual]

Convert a string that is encoded with this encoding to an unicode PdfString.


Parameters
rEncodedString a string encoded by this encoding. Usually this string was read from a content stream.
pFont the font for which this string is converted

Returns

an unicode PdfString.

Reimplemented from PoDoFo::PdfEncoding.

10.108.2.4 pdf_utf16be PoDoFo::PdfSimpleEncoding::GetCharCode ( int nIndex ) const [virtual]

Get the unicode character code for this encoding at the position nIndex. nIndex is a position between GetFirstChar()
and GetLastChar()
Parameters
nIndex character code at position index

Returns

unicode character code

See also

GetFirstChar
GetLastChar

Will throw an exception if nIndex is out of range.


Implements PoDoFo::PdfEncoding.

10.108.2.5 const PdfName & PoDoFo::PdfSimpleEncoding::GetID ( ) const [inline], [protected],


[virtual]

Get a unique ID for this encoding which can used for comparisons!

Returns

a unique id for this encoding!

Implements PoDoFo::PdfEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


378 Class Documentation

10.108.2.6 const PdfName & PoDoFo::PdfSimpleEncoding::GetName ( ) const [inline]

Get the name of this encoding.

Returns

the name of this encoding.

10.108.2.7 virtual const pdf_utf16be∗ PoDoFo::PdfSimpleEncoding::GetToUnicodeTable ( ) const [protected],


[pure virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implemented in PoDoFo::PdfIso88592Encoding, PoDoFo::PdfWin1250Encoding, PoDoFo::PdfZapfDingbats←-


Encoding, PoDoFo::PdfSymbolEncoding, PoDoFo::PdfStandardEncoding, PoDoFo::PdfMacRomanEncoding, Po←-
DoFo::PdfWinAnsiEncoding, and PoDoFo::PdfDocEncoding.

10.108.2.8 bool PoDoFo::PdfSimpleEncoding::IsAutoDelete ( ) const [inline], [virtual]

PdfSimpleEncoding subclasses are usuylla not auto-deleted, as they are allocated statically only once.

Returns

true if this encoding should be deleted automatically with the font.

See also

PdfFont::WinAnsiEncoding
PdfFont::MacRomanEncoding

Implements PoDoFo::PdfEncoding.

10.108.2.9 bool PoDoFo::PdfSimpleEncoding::IsSingleByteEncoding ( ) const [inline], [virtual]

Returns

true if this is a single byte encoding with a maximum of 256 values.

Implements PoDoFo::PdfEncoding.

10.109 PoDoFo::PdfSimpleTableModel Class Reference

#include <PdfTable.h>
Inheritance diagram for PoDoFo::PdfSimpleTableModel:

PoDoFo::PdfTableModel

PoDoFo::PdfSimpleTableModel

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.109 PoDoFo::PdfSimpleTableModel Class Reference 379

Public Member Functions

• PdfSimpleTableModel ()
• PdfSimpleTableModel (int nCols, int nRows)
• void SetFont (PdfFont ∗pFont)
• void SetAlignment (EPdfAlignment eAlignment)
• void SetAlignment (EPdfVerticalAlignment eAlignment)
• void SetBackgroundColor (const PdfColor &rColor)
• void SetForegroundColor (const PdfColor &rColor)
• void SetBackgroundEnabled (bool bEnable)
• void SetWordWrapEnabled (bool bEnable)
• void SetBorderEnabled (bool bEnable)
• void SetBorderWidth (double dWidth)
• void SetText (int col, int row, const PdfString &rsString)
• virtual PdfString GetText (int col, int row) const
• virtual EPdfAlignment GetAlignment (int col, int row) const
• virtual EPdfVerticalAlignment GetVerticalAlignment (int col, int row) const
• virtual PdfFont ∗ GetFont (int col, int row) const
• virtual bool HasBackgroundColor (int col, int row) const
• virtual PdfColor GetBackgroundColor (int col, int row) const
• virtual PdfColor GetForegroundColor (int col, int row) const
• virtual bool HasWordWrap (int col, int row) const
• virtual bool HasBorders () const
• virtual double GetBorderWidth () const
• virtual PdfColor GetBorderColor (int col, int row) const
• virtual bool HasImage (int col, int row) const
• virtual PdfImage ∗ GetImage (int col, int row) const

10.109.1 Detailed Description

An implementation of a simple PdfTableModel.

10.109.2 Constructor & Destructor Documentation

10.109.2.1 PoDoFo::PdfSimpleTableModel::PdfSimpleTableModel ( )

Creates an empty PdfSimpleTableModel that does not contain any data.


Using this model will result in drawing an empty table!

10.109.2.2 PoDoFo::PdfSimpleTableModel::PdfSimpleTableModel ( int nCols, int nRows )

Creates an empty PdfSimpleTableModel that does not contain any data.


Using this model will result in drawing an empty table!
Parameters
nCols number of columns of the data in this table model (must match the PdfTable object)
nRows number of rows of the data in this table model (must match the PdfTable object)

You can set the tables data using SetText.

See also

SetText

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


380 Class Documentation

10.109.3 Member Function Documentation

10.109.3.1 EPdfAlignment PoDoFo::PdfSimpleTableModel::GetAlignment ( int col, int row ) const [inline],


[virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.109 PoDoFo::PdfSimpleTableModel Class Reference 381

Parameters
col the column of the table cell
row the row of the table cell

Returns

the horizontal alignment of the contents in the cell

Implements PoDoFo::PdfTableModel.

10.109.3.2 PdfColor PoDoFo::PdfSimpleTableModel::GetBackgroundColor ( int col, int row ) const [inline],


[virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the background color of the specified cell

Implements PoDoFo::PdfTableModel.

10.109.3.3 PdfColor PoDoFo::PdfSimpleTableModel::GetBorderColor ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the border color

Implements PoDoFo::PdfTableModel.

10.109.3.4 double PoDoFo::PdfSimpleTableModel::GetBorderWidth ( ) const [inline], [virtual]

Returns

the stroke witdth of the border line

Implements PoDoFo::PdfTableModel.

10.109.3.5 PdfFont ∗ PoDoFo::PdfSimpleTableModel::GetFont ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the font of this table cell or NULL to use the default font

Implements PoDoFo::PdfTableModel.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


382 Class Documentation

10.109.3.6 PdfColor PoDoFo::PdfSimpleTableModel::GetForegroundColor ( int col, int row ) const [inline],


[virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.109 PoDoFo::PdfSimpleTableModel Class Reference 383

Parameters
col the column of the table cell
row the row of the table cell

Returns

the foreground (text) color of the specified cell

Implements PoDoFo::PdfTableModel.

10.109.3.7 PdfImage ∗ PoDoFo::PdfSimpleTableModel::GetImage ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the image for the specified cell or NULL if the cell has no image

Implements PoDoFo::PdfTableModel.

10.109.3.8 PdfString PoDoFo::PdfSimpleTableModel::GetText ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the contents string of this table cell

Implements PoDoFo::PdfTableModel.

10.109.3.9 EPdfVerticalAlignment PoDoFo::PdfSimpleTableModel::GetVerticalAlignment ( int col, int row ) const


[inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the vertical alignment of the contents in the cell

Implements PoDoFo::PdfTableModel.

10.109.3.10 bool PoDoFo::PdfSimpleTableModel::HasBackgroundColor ( int col, int row ) const [inline],


[virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


384 Class Documentation

Parameters
col the column of the table cell
row the row of the table cell

Returns

true if this cell has a background color

Implements PoDoFo::PdfTableModel.

10.109.3.11 bool PoDoFo::PdfSimpleTableModel::HasBorders ( ) const [inline], [virtual]

Returns

true if the table should have a border around all cells.


false if no cell border should be visible

Cell borders are always drawn using the current PdfPainter settings.
Implements PoDoFo::PdfTableModel.

10.109.3.12 bool PoDoFo::PdfSimpleTableModel::HasImage ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

true if the table cell contains an image

Implements PoDoFo::PdfTableModel.

10.109.3.13 bool PoDoFo::PdfSimpleTableModel::HasWordWrap ( int col, int row ) const [inline], [virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

true if the specified cell should use wordwrapping

Implements PoDoFo::PdfTableModel.

10.109.3.14 void PoDoFo::PdfSimpleTableModel::SetAlignment ( EPdfAlignment eAlignment ) [inline]

Set the horizontal alignment of the contents in all table cells

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.109 PoDoFo::PdfSimpleTableModel Class Reference 385

Parameters
eAlignment the horizontal alignment of text in a table cell

10.109.3.15 void PoDoFo::PdfSimpleTableModel::SetAlignment ( EPdfVerticalAlignment eAlignment ) [inline]

Set the vertical alignment of the contents in all table cells


Parameters
eAlignment the vertiical alignment of text in a table cell

10.109.3.16 void PoDoFo::PdfSimpleTableModel::SetBackgroundColor ( const PdfColor & rColor ) [inline]

Set the background color of the table cells


Parameters
rColor the background color

10.109.3.17 void PoDoFo::PdfSimpleTableModel::SetBackgroundEnabled ( bool bEnable ) [inline]

Sets wether all cells have a background color or not


Parameters
bEnable if true all cells have a background color

10.109.3.18 void PoDoFo::PdfSimpleTableModel::SetBorderEnabled ( bool bEnable ) [inline]

Sets wether all cells have a border or not.


Parameters
bEnable if true a border will be drawn using the current PdfPainter settings

10.109.3.19 void PoDoFo::PdfSimpleTableModel::SetBorderWidth ( double dWidth ) [inline]

Sets the stroke width of the border around the table.


Parameters
dWidth the stroke width of the border

10.109.3.20 void PoDoFo::PdfSimpleTableModel::SetFont ( PdfFont ∗ pFont ) [inline]

Set the font that will be used to draw all table contents.
Parameters
pFont the font for the table contents

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


386 Class Documentation

10.109.3.21 void PoDoFo::PdfSimpleTableModel::SetForegroundColor ( const PdfColor & rColor ) [inline]

Set the foreground color of the table cells

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.110 PoDoFo::PdfStandardEncoding Class Reference 387

Parameters
rColor the foreground color

10.109.3.22 void PoDoFo::PdfSimpleTableModel::SetText ( int col, int row, const PdfString & rsString ) [inline]

Sets the contents of a specific cell


Parameters
col the column of the table cell
row the row of the table cell
rsString the contents of this cell

10.109.3.23 void PoDoFo::PdfSimpleTableModel::SetWordWrapEnabled ( bool bEnable ) [inline]

Sets wether all cells have wordwrapping or not


Parameters
bEnable if true all cells have wordwrapping

10.110 PoDoFo::PdfStandardEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfStandardEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfStandardEncoding

Public Member Functions

• PdfStandardEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.110.1 Detailed Description

Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::StandardEncoding.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


388 Class Documentation

See also

PdfFont::StandardEncoding

10.110.2 Constructor & Destructor Documentation

10.110.2.1 PoDoFo::PdfStandardEncoding::PdfStandardEncoding ( ) [inline]

Create a new PdfStandardEncoding

10.110.3 Member Function Documentation

10.110.3.1 const pdf_utf16be ∗ PoDoFo::PdfStandardEncoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.

10.111 PoDoFo::PdfStitchingFunction Class Reference

#include <PdfFunction.h>
Inheritance diagram for PoDoFo::PdfStitchingFunction:

PoDoFo::PdfElement

PoDoFo::PdfFunction

PoDoFo::PdfStitchingFunction

Public Member Functions

• PdfStitchingFunction (const PdfFunction::List &rlstFunctions, const PdfArray &rDomain, const PdfArray &r←-
Bounds, const PdfArray &rEncode, PdfVecObjects ∗pParent)
• PdfStitchingFunction (const PdfFunction::List &rlstFunctions, const PdfArray &rDomain, const PdfArray &r←-
Bounds, const PdfArray &rEncode, PdfDocument ∗pParent)

Additional Inherited Members

10.111.1 Detailed Description

This class is a PdfStitchingFunction, i.e. a PdfFunction that combines more than one PdfFunction into one.
It combines several PdfFunctions that take 1 input parameter to a new PdfFunction taking again only 1 input param-
eter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.112 PoDoFo::PdfStream Class Reference 389

10.111.2 Constructor & Destructor Documentation

10.111.2.1 PoDoFo::PdfStitchingFunction::PdfStitchingFunction ( const PdfFunction::List & rlstFunctions, const PdfArray &


rDomain, const PdfArray & rBounds, const PdfArray & rEncode, PdfVecObjects ∗ pParent )

Create a new PdfStitchingFunction object.


Parameters
rlstFunctions a list of functions which are used to built up this function object
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rBounds the bounds array
rEncode the encode array
pParent parent vector of objects

10.111.2.2 PoDoFo::PdfStitchingFunction::PdfStitchingFunction ( const PdfFunction::List & rlstFunctions, const PdfArray &


rDomain, const PdfArray & rBounds, const PdfArray & rEncode, PdfDocument ∗ pParent )

Create a new PdfStitchingFunction object.


Parameters
rlstFunctions a list of functions which are used to built up this function object
rDomain this array describes the input parameters of this PdfFunction. If this function has m input
parameters, this array has to contain 2∗m numbers where each number describes either the
lower or upper boundary of the input range.
rBounds the bounds array
rEncode the encode array
pParent parent document

10.112 PoDoFo::PdfStream Class Reference

#include <PdfStream.h>
Inheritance diagram for PoDoFo::PdfStream:

PoDoFo::PdfStream

PoDoFo::PdfFileStream PoDoFo::PdfMemStream

Public Member Functions

• PdfStream (PdfObject ∗pParent)


• virtual void Write (PdfOutputDevice ∗pDevice, PdfEncrypt ∗pEncrypt=NULL)=0
• void Set (const char ∗szBuffer, pdf_long lLen, const TVecFilters &vecFilters)
• void Set (const char ∗szBuffer, pdf_long lLen)
• void Set (PdfInputStream ∗pStream)
• void Set (PdfInputStream ∗pStream, const TVecFilters &vecFilters)
• void Set (const char ∗pszString)
• void SetRawData (PdfInputStream ∗pStream, pdf_long lLen=-1)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


390 Class Documentation

• void BeginAppend (bool bClearExisting=true)


• void BeginAppend (const TVecFilters &vecFilters, bool bClearExisting=true, bool bDeleteFilters=true)
• void Append (const char ∗pszString, size_t lLen)
• void Append (const char ∗pszString)
• void Append (const std::string &sString)
• void EndAppend ()
• bool IsAppending () const
• virtual pdf_long GetLength () const =0
• virtual void GetCopy (char ∗∗pBuffer, pdf_long ∗lLen) const =0
• virtual void GetCopy (PdfOutputStream ∗pStream) const =0
• void GetFilteredCopy (char ∗∗pBuffer, pdf_long ∗lLen) const
• void GetFilteredCopy (PdfOutputStream ∗pStream) const
• const PdfStream & operator= (const PdfStream &rhs)

Protected Member Functions

• virtual const char ∗ GetInternalBuffer () const =0


• virtual pdf_long GetInternalBufferSize () const =0
• virtual void BeginAppendImpl (const TVecFilters &vecFilters)=0
• virtual void AppendImpl (const char ∗pszString, size_t lLen)=0
• virtual void EndAppendImpl ()=0

10.112.1 Detailed Description

A PDF stream can be appended to any PdfObject and can contain arbitrary data.
Most of the time it will contain either drawing commands to draw onto a page or binary data like a font or an image.
You have to use a concrete implementation of a stream, which can be retrieved from a StreamFactory.

See also

PdfVecObjects
PdfMemoryStream
PdfFileStream

10.112.2 Constructor & Destructor Documentation

10.112.2.1 PoDoFo::PdfStream::PdfStream ( PdfObject ∗ pParent )

Create a new PdfStream object which has a parent PdfObject. The stream will be deleted along with the parent.
This constructor will be called by PdfObject::Stream() for you.
Parameters
pParent parent object

10.112.3 Member Function Documentation

10.112.3.1 void PoDoFo::PdfStream::Append ( const char ∗ pszString, size_t lLen ) [inline]

Append a binary buffer to the current stream contents.


Make sure BeginAppend() has been called before.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.112 PoDoFo::PdfStream Class Reference 391

Parameters
pszString a buffer
lLen length of the buffer

See also

BeginAppend
EndAppend

10.112.3.2 void PoDoFo::PdfStream::Append ( const char ∗ pszString ) [inline]

Append a null-terminated string to the current stream contents.


Make sure BeginAppend() has been called before.
Parameters
pszString a zero-terminated string buffer containing only ASCII text data

See also

BeginAppend
EndAppend

10.112.3.3 void PoDoFo::PdfStream::Append ( const std::string & sString ) [inline]

Append to the current stream contents.


Make sure BeginAppend() has been called before.
Parameters
sString a std::string containing only ASCII text data

See also

BeginAppend
EndAppend

10.112.3.4 virtual void PoDoFo::PdfStream::AppendImpl ( const char ∗ pszString, size_t lLen ) [protected], [pure
virtual]

Append a binary buffer to the current stream contents.


Parameters
pszString a buffer
lLen length of the buffer

See also

BeginAppend
Append
EndAppend

Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


392 Class Documentation

10.112.3.5 void PoDoFo::PdfStream::BeginAppend ( bool bClearExisting = true )

Start appending data to this stream.


This method has to be called before any of the append methods. All appended data will be Flate-encoded.
Parameters
bClearExisting if true any existing stream contents will be cleared.

See also

Append
EndAppend

10.112.3.6 void PoDoFo::PdfStream::BeginAppend ( const TVecFilters & vecFilters, bool bClearExisting = true, bool
bDeleteFilters = true )

Start appending data to this stream. This method has to be called before any of the append methods.
Use PdfFilterFactory::CreateFilterList() if you want to use the contents of the stream dictionary's existing filter key.
Parameters
vecFilters a list of filters to use when appending data
bClearExisting if true any existing stream contents will be cleared.
bDeleteFilters if true existing filter keys are deleted if an empty list of filters is passed (required for Set←-
RawData())

See also

Append
EndAppend

10.112.3.7 virtual void PoDoFo::PdfStream::BeginAppendImpl ( const TVecFilters & vecFilters ) [protected], [pure
virtual]

Begin appending data to this stream. Clears the current stream contents.
Use PdfFilterFactory::CreateFilterList() if you want to use the contents of the stream dictionary's existing filter key.
Parameters
vecFilters use these filters to encode any data written to the stream.

Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

10.112.3.8 void PoDoFo::PdfStream::EndAppend ( )

Finish appending data to this stream. BeginAppend() has to be called before this method.

See also

BeginAppend
Append

10.112.3.9 virtual void PoDoFo::PdfStream::EndAppendImpl ( ) [protected], [pure virtual]

Finish appending data to the stream


Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.112 PoDoFo::PdfStream Class Reference 393

10.112.3.10 virtual void PoDoFo::PdfStream::GetCopy ( char ∗∗ pBuffer, pdf_long ∗ lLen ) const [pure virtual]

Get a malloc()'d buffer of the current stream. No filters will be applied to the buffer, so if the stream is Flate-
compressed the compressed copy will be returned.
The caller has to podofo_free() the buffer.
Parameters
pBuffer pointer to the buffer
lLen pointer to the buffer length

Implemented in PoDoFo::PdfFileStream, and PoDoFo::PdfMemStream.

10.112.3.11 virtual void PoDoFo::PdfStream::GetCopy ( PdfOutputStream ∗ pStream ) const [pure virtual]

Get a copy of a the stream and write it to a PdfOutputStream


Parameters
pStream data is written to this stream.

Implemented in PoDoFo::PdfFileStream, and PoDoFo::PdfMemStream.

10.112.3.12 void PoDoFo::PdfStream::GetFilteredCopy ( char ∗∗ pBuffer, pdf_long ∗ lLen ) const

Get a malloc()'d buffer of the current stream which has been filtered by all filters as specified in the dictionary's
/Filter key. For example, if the stream is Flate-compressed, the buffer returned from this method will have been
decompressed.
The caller has to podofo_free() the buffer.
Parameters
pBuffer pointer to the buffer
lLen pointer to the buffer length

10.112.3.13 void PoDoFo::PdfStream::GetFilteredCopy ( PdfOutputStream ∗ pStream ) const

Get a filtered copy of a the stream and write it to a PdfOutputStream


Parameters
pStream filtered data is written to this stream.

10.112.3.14 virtual const char∗ PoDoFo::PdfStream::GetInternalBuffer ( ) const [protected], [pure virtual]

Required for the GetFilteredCopy() implementation

Returns

a handle to the internal buffer

Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

10.112.3.15 virtual pdf_long PoDoFo::PdfStream::GetInternalBufferSize ( ) const [protected], [pure virtual]

Required for the GetFilteredCopy() implementation

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


394 Class Documentation

Returns

the size of the internal buffer

Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

10.112.3.16 virtual pdf_long PoDoFo::PdfStream::GetLength ( ) const [pure virtual]

Get the stream's length with all filters applied (e.g. if the stream is Flate-compressed, the length of the compressed
data stream).

Returns

the length of the internal buffer

Implemented in PoDoFo::PdfMemStream, and PoDoFo::PdfFileStream.

10.112.3.17 bool PoDoFo::PdfStream::IsAppending ( ) const [inline]

Returns

true if code is between BeginAppend() and EndAppend() at the moment, i.e. it is safe to call EndAppend()
now.

See also

BeginAppend
Append

10.112.3.18 const PdfStream & PoDoFo::PdfStream::operator= ( const PdfStream & rhs )

Create a copy of a PdfStream object


Parameters
rhs the object to clone

Returns

a reference to this object

10.112.3.19 void PoDoFo::PdfStream::Set ( const char ∗ szBuffer, pdf_long lLen, const TVecFilters & vecFilters )

Set a binary buffer as stream data.


Use PdfFilterFactory::CreateFilterList() if you want to use the contents of the stream dictionary's existing filter key.
Parameters
szBuffer buffer containing the stream data
lLen length of the buffer
vecFilters a list of filters to use when appending data

10.112.3.20 void PoDoFo::PdfStream::Set ( const char ∗ szBuffer, pdf_long lLen )

Set a binary buffer as stream data. All data will be Flate-encoded.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.112 PoDoFo::PdfStream Class Reference 395

Parameters
szBuffer buffer containing the stream data
lLen length of the buffer

10.112.3.21 void PoDoFo::PdfStream::Set ( PdfInputStream ∗ pStream )

Set a binary buffer whose contents are read from a PdfInputStream All data will be Flate-encoded.
Parameters
pStream read stream contents from this PdfInputStream

10.112.3.22 void PoDoFo::PdfStream::Set ( PdfInputStream ∗ pStream, const TVecFilters & vecFilters )

Set a binary buffer whose contents are read from a PdfInputStream


Use PdfFilterFactory::CreateFilterList() if you want to use the contents of the stream dictionary's existing filter key.
Parameters
pStream read stream contents from this PdfInputStream
vecFilters a list of filters to use when appending data

10.112.3.23 void PoDoFo::PdfStream::Set ( const char ∗ pszString ) [inline]

Set a null-terminated char∗ buffer as the stream's contents.


The string will be copied into a newly allocated buffer.
Parameters
pszString a zero terminated string buffer containing only ASCII text data

10.112.3.24 void PoDoFo::PdfStream::SetRawData ( PdfInputStream ∗ pStream, pdf_long lLen = -1 )

Sets raw data for this stream which is read from an input stream. This method does neither encode nor decode the
read data. The filters of the object are not modified and the data is expected encoded as stated by the /Filters key
in the stream's object.
Parameters
pStream read data from this input stream
lLen read exactly lLen bytes from the input stream, if lLen = -1 read until the end of the input
stream was reached.

10.112.3.25 virtual void PoDoFo::PdfStream::Write ( PdfOutputDevice ∗ pDevice, PdfEncrypt ∗ pEncrypt = NULL )


[pure virtual]

Write the stream to an output device


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


396 Class Documentation

pDevice write to this outputdevice.


pEncrypt encrypt stream data using this object

Implemented in PoDoFo::PdfFileStream, and PoDoFo::PdfMemStream.

10.113 PoDoFo::PdfStreamedDocument Class Reference

#include <PdfStreamedDocument.h>
Inheritance diagram for PoDoFo::PdfStreamedDocument:

PoDoFo::PdfDocument

PoDoFo::PdfStreamedDocument

Public Member Functions

• PdfStreamedDocument (PdfOutputDevice ∗pDevice, EPdfVersion eVersion=ePdfVersion_Default, Pdf←-


Encrypt ∗pEncrypt=NULL, EPdfWriteMode eWriteMode=ePdfWriteMode_Default)
• PdfStreamedDocument (const char ∗pszFilename, EPdfVersion eVersion=ePdfVersion_Default, PdfEncrypt
∗pEncrypt=NULL, EPdfWriteMode eWriteMode=ePdfWriteMode_Default)
• void Close ()
• virtual EPdfWriteMode GetWriteMode () const
• virtual EPdfVersion GetPdfVersion () const
• virtual bool IsLinearized () const
• virtual bool IsPrintAllowed () const
• virtual bool IsEditAllowed () const
• virtual bool IsCopyAllowed () const
• virtual bool IsEditNotesAllowed () const
• virtual bool IsFillAndSignAllowed () const
• virtual bool IsAccessibilityAllowed () const
• virtual bool IsDocAssemblyAllowed () const
• virtual bool IsHighPrintAllowed () const

Additional Inherited Members

10.113.1 Detailed Description

PdfStreamedDocument is the preferred class for creating new PDF documents.


Page contents, fonts and images are written to disk as soon as possible and are not kept in memory. This results in
faster document generation and less memory being used.
Please use PdfMemDocument if you intend to work on the object structure of a PDF file.
One of the design goals of PdfStreamedDocument was to hide the underlying object structure of a PDF file as far
as possible.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.113 PoDoFo::PdfStreamedDocument Class Reference 397

See also

PdfDocument
PdfMemDocument

Example of using PdfStreamedDocument:


PdfStreamedDocument document( "outputfile.pdf" ); PdfPage∗ pPage = document.CreatePage( PdfPage::Create←-
StandardPageSize( ePdfPageSize_A4 ) ); PdfFont∗ pFont = document.CreateFont( "Arial" );
PdfPainter painter; painter.SetPage( pPage ); painter.SetFont( pFont ); painter.DrawText( 56.69, pPage->Get←-
PageSize().GetHeight() - 56.69, "Hello World!" ); painter.FinishPage();
document.Close();

10.113.2 Constructor & Destructor Documentation

10.113.2.1 PoDoFo::PdfStreamedDocument::PdfStreamedDocument ( PdfOutputDevice ∗ pDevice, EPdfVersion


eVersion = ePdfVersion_Default, PdfEncrypt ∗ pEncrypt = NULL, EPdfWriteMode eWriteMode =
ePdfWriteMode_Default )

Create a new PdfStreamedDocument. All data is written to an output device immediately.


Parameters
pDevice an output device
eVersion the PDF version of the document to write. The PDF version can only be set in the constructor
as it is the first item written to the document on disk.
pEncrypt pointer to an encryption object or NULL. If not NULL the PdfEncrypt object will be copied and
used to encrypt the created document.
eWriteMode additional options for writing the pdf

10.113.2.2 PoDoFo::PdfStreamedDocument::PdfStreamedDocument ( const char ∗ pszFilename, EPdfVersion


eVersion = ePdfVersion_Default, PdfEncrypt ∗ pEncrypt = NULL, EPdfWriteMode eWriteMode =
ePdfWriteMode_Default )

Create a new PdfStreamedDocument. All data is written to a file immediately.


Parameters
pszFilename resulting PDF file
eVersion the PDF version of the document to write. The PDF version can only be set in the constructor
as it is the first item written to the document on disk.
pEncrypt pointer to an encryption object or NULL. If not NULL the PdfEncrypt object will be copied and
used to encrypt the created document.
eWriteMode additional options for writing the pdf

10.113.3 Member Function Documentation

10.113.3.1 void PoDoFo::PdfStreamedDocument::Close ( )

Close the document. The PDF file on disk is finished. No other member function of this class maybe called after
calling this function.

10.113.3.2 EPdfVersion PoDoFo::PdfStreamedDocument::GetPdfVersion ( ) const [inline], [virtual]

Get the PDF version of the document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


398 Class Documentation

Returns

EPdfVersion version of the pdf document

Implements PoDoFo::PdfDocument.

10.113.3.3 EPdfWriteMode PoDoFo::PdfStreamedDocument::GetWriteMode ( ) const [inline], [virtual]

Get the write mode used for wirting the PDF

Returns

the write mode

Implements PoDoFo::PdfDocument.

10.113.3.4 bool PoDoFo::PdfStreamedDocument::IsAccessibilityAllowed ( ) const [inline], [virtual]

Checks if it is allowed to extract text and graphics to support users with disabillities Every PDF consuming applica-
tions has to adhere this value!

Returns

true if you are allowed to extract text and graphics to support users with disabillities

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.113.3.5 bool PoDoFo::PdfStreamedDocument::IsCopyAllowed ( ) const [inline], [virtual]

Checks if text and graphics extraction is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to extract text and graphics from this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.113.3.6 bool PoDoFo::PdfStreamedDocument::IsDocAssemblyAllowed ( ) const [inline], [virtual]

Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications
has to adhere this value!

Returns

true if you are allowed to insert, create, rotate, delete pages or add bookmarks

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.113 PoDoFo::PdfStreamedDocument Class Reference 399

10.113.3.7 bool PoDoFo::PdfStreamedDocument::IsEditAllowed ( ) const [inline], [virtual]

Checks if modifiying this document (besides annotations, form fields or changing pages) is allowed. Every PDF
consuming applications has to adhere this value!

Returns

true if you are allowed to modfiy this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.113.3.8 bool PoDoFo::PdfStreamedDocument::IsEditNotesAllowed ( ) const [inline], [virtual]

Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere
this value!

Returns

true if you are allowed to add or modify annotations or form fields

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.113.3.9 bool PoDoFo::PdfStreamedDocument::IsFillAndSignAllowed ( ) const [inline], [virtual]

Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this
value!

Returns

true if you are allowed to fill in existing form or signature fields

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.113.3.10 bool PoDoFo::PdfStreamedDocument::IsHighPrintAllowed ( ) const [inline], [virtual]

Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to
adhere this value!

Returns

true if you are allowed to print a high quality version of this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


400 Class Documentation

10.113.3.11 bool PoDoFo::PdfStreamedDocument::IsLinearized ( ) const [inline], [virtual]

Returns wether this PDF document is linearized, aka weboptimized

Returns

true if the PDF document is linearized

Implements PoDoFo::PdfDocument.

10.113.3.12 bool PoDoFo::PdfStreamedDocument::IsPrintAllowed ( ) const [inline], [virtual]

Checks if printing this document is allowed. Every PDF consuming applications has to adhere this value!

Returns

true if you are allowed to print this document

See also

PdfEncrypt to set own document permissions.

Implements PoDoFo::PdfDocument.

10.114 PoDoFo::PdfString Class Reference

#include <PdfString.h>
Inheritance diagram for PoDoFo::PdfString:

PoDoFo::PdfDataType

PoDoFo::PdfString

Public Member Functions

• PdfString ()
• PdfString (const std::string &sString, const PdfEncoding ∗const pEncoding=NULL)
• PdfString (const char ∗pszString, const PdfEncoding ∗const pEncoding=NULL)
• PdfString (const wchar_t ∗pszString, pdf_long lLen=-1)
• PdfString (const char ∗pszString, pdf_long lLen, bool bHex=false, const PdfEncoding ∗const pEncoding=N←-
ULL)
• PdfString (const pdf_utf8 ∗pszStringUtf8)
• PdfString (const pdf_utf16be ∗pszStringUtf16)
• PdfString (const pdf_utf8 ∗pszStringUtf8, pdf_long lLen)
• PdfString (const pdf_utf16be ∗pszStringUtf16, pdf_long lLen)
• PdfString (const PdfString &rhs)
• void SetHexData (const char ∗pszHex, pdf_long lLen=-1, PdfEncrypt ∗pEncrypt=NULL)
• bool IsValid () const
• bool IsHex () const
• bool IsUnicode () const
• const char ∗ GetString () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.114 PoDoFo::PdfString Class Reference 401

• const pdf_utf16be ∗ GetUnicode () const


• const std::string & GetStringUtf8 () const
• pdf_long GetLength () const
• pdf_long GetUnicodeLength () const
• pdf_long GetCharacterLength () const
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• const PdfString & operator= (const PdfString &rhs)
• bool operator> (const PdfString &rhs) const
• bool operator< (const PdfString &rhs) const
• bool operator== (const PdfString &rhs) const
• bool operator!= (const PdfString &rhs) const
• PdfString ToUnicode () const
• PdfRefCountedBuffer & GetBuffer (void)

Additional Inherited Members

10.114.1 Detailed Description

A string that can be written to a PDF document. If it contains binary data it is automatically converted into a hex
string, otherwise a normal PDF string is written to the document.
PdfStrings representing text are either in PDFDocEncoding (ISO Latin1) encoded or UTF-16BE encoded.
PoDoFo contains methods to convert between these encodings. For convinience conversion to UTF-8 is possible
to. Please not that strings are always stored as UTF-16BE or ISO Latin1 (PdfDocEncoding) in the PDF file.
UTF-16BE strings have to start with the byts 0xFE 0xFF to be recognized by PoDoFo as unicode strings.
PdfStrings is an implicitly shared class. As a reason it is very fast to copy PdfString objects.
The internal string buffer is guaranteed to be always terminated by 2 zeros.

10.114.2 Constructor & Destructor Documentation

10.114.2.1 PoDoFo::PdfString::PdfString ( )

Create an empty and invalid string

10.114.2.2 PoDoFo::PdfString::PdfString ( const std::string & sString, const PdfEncoding ∗const pEncoding = NULL )

Construct a new PdfString from a std::string. The input string will be copied. If the first to bytes of the string are
0xFE and 0xFF this string is treated as UTF-16BE encoded unicode string.
Parameters
sString the string to copy
pEncoding the encoding of this string, if it is no unicode string. This is ignored for unicode strings. If
NULL PdfDocEncoding will be used as a default.

10.114.2.3 PoDoFo::PdfString::PdfString ( const char ∗ pszString, const PdfEncoding ∗const pEncoding = NULL )

Construct a new PdfString from a 0 terminated string. The input string will be copied.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


402 Class Documentation

Parameters
pszString the string to copy
pEncoding the encoding of this string, if it is no unicode string. This is ignored for unicode strings. If
NULL PdfDocEncoding will be used as a default.

10.114.2.4 PoDoFo::PdfString::PdfString ( const wchar_t ∗ pszString, pdf_long lLen = -1 )

Construct a new PdfString from a 0 terminated string. The input string will be copied.
Parameters
pszString the string to copy

10.114.2.5 PoDoFo::PdfString::PdfString ( const char ∗ pszString, pdf_long lLen, bool bHex = false, const PdfEncoding
∗const pEncoding = NULL )

Construct a new PdfString from a string. The input string will be copied. If the first to bytes of the string are 0xFE
and 0xFF this string is treated as UTF-16BE encoded unicode string.
Parameters
pszString the string to copy
lLen length of the string data to encode
bHex if true the data will be hex encoded during writeout of the string and IsHex() will return true.
pEncoding the encoding of this string, if it is no unicode string. This is ignored for unicode strings. If
NULL PdfDocEncoding will be used as a default.

10.114.2.6 PoDoFo::PdfString::PdfString ( const pdf_utf8 ∗ pszStringUtf8 )

Construct a new PdfString from an UTF-8 encoded string.


The string is converted to UTF-16BE internally.
Parameters
pszStringUtf8 a UTF-8 encoded string.

10.114.2.7 PoDoFo::PdfString::PdfString ( const pdf_utf16be ∗ pszStringUtf16 )

Construct a new PdfString from an UTF-16be encoded zero terminated string.


Parameters
pszStringUtf16 a UTF-16BE encoded string.

10.114.2.8 PoDoFo::PdfString::PdfString ( const pdf_utf8 ∗ pszStringUtf8, pdf_long lLen )

Construct a new PdfString from an UTF-8 encoded string.


The string is converted to UTF-16BE internally.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.114 PoDoFo::PdfString Class Reference 403

Parameters
pszStringUtf8 a UTF-8 encoded string.
lLen number of bytes to convert

10.114.2.9 PoDoFo::PdfString::PdfString ( const pdf_utf16be ∗ pszStringUtf16, pdf_long lLen )

Construct a new PdfString from an UTF-16be encoded zero terminated string.


Parameters
pszStringUtf16 a UTF-16BE encoded string.
lLen number of words to convert

10.114.2.10 PoDoFo::PdfString::PdfString ( const PdfString & rhs )

Copy an existing PdfString


Parameters
rhs another PdfString to copy

10.114.3 Member Function Documentation

10.114.3.1 PdfRefCountedBuffer & PoDoFo::PdfString::GetBuffer ( void )

Returns internal buffer; do not free it, it's owned by the PdfString

Returns

internal buffer; do not free it, it's owned by the PdfString returns a NULL zero size buffer if PdfString::IsValid()
returns false

10.114.3.2 pdf_long PoDoFo::PdfString::GetCharacterLength ( ) const [inline]

Get the number of characters in the string.


This function returns the correct number of characters in the string for unicode and ansi strings. Always use this
method if you want to know the number of characters in the string as GetLength() will returns the number of bytes
used for unicode strings!

Returns

the number of characters in the string, returns zero if PdfString::IsValid() returns false

10.114.3.3 pdf_long PoDoFo::PdfString::GetLength ( ) const [inline]

The length of the string data returned by GetString() in bytes not including terminating zeros.

Returns

the length of the string, returns zero if PdfString::IsValid() returns false

See also

GetCharacterLength to determine the number of characters in the string

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


404 Class Documentation

10.114.3.4 const char ∗ PoDoFo::PdfString::GetString ( ) const [inline]

The contents of the strings can be read by this function.


The returned data is never hex encoded may contain 0 bytes.
if IsUnicode() returns true, the return value points to a UTF-16BE string buffer with Length() characters. Better use
GetUnicode() in this case.

Returns

the strings contents which is guaranteed to be zero terminated but might also contain 0 bytes in the string.

See also

IsHex
IsUnicode
Length

10.114.3.5 const std::string & PoDoFo::PdfString::GetStringUtf8 ( ) const [inline]

The contents of the string as UTF8 string.


The strings contents are always returned as UTF8 by this function. Works for unicode strings and for non unicode
strings.
This is the prefered way to access the strings contents.

Returns

the string contents always as UTF8, returns NULL if PdfString::IsValid() returns false

10.114.3.6 const pdf_utf16be ∗ PoDoFo::PdfString::GetUnicode ( ) const [inline]

The contents of the strings can be read by this function.


The returned data is never hex encoded any maycontain 0 bytes.
if IsUnicode() returns true, the return value points to a UTF-16BE string buffer with Length() characters. Better use
GetUnicode() in this case.

Returns

the strings contents which is guaranteed to be zero terminated but might also contain 0 bytes in the string,
returns NULL if PdfString::IsValid() returns false

See also

IsHex
IsUnicode
Length

10.114.3.7 pdf_long PoDoFo::PdfString::GetUnicodeLength ( ) const [inline]

The length of the string data returned by GetUnicode() in characters not including the terminating zero

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.114 PoDoFo::PdfString Class Reference 405

Returns

the length of the string, returns zero if PdfString::IsValid() returns false

See also

GetCharacterLength to determine the number of characters in the string

10.114.3.8 bool PoDoFo::PdfString::IsHex ( ) const [inline]

Check if this is a hex string.


If true the data will be hex encoded when the string is written to a PDF file.

Returns

true if this is a hex string.

See also

GetString() will return the raw string contents (not hex encoded)

10.114.3.9 bool PoDoFo::PdfString::IsUnicode ( ) const [inline]

PdfStrings are either Latin1 encoded or UTF-16BE encoded unicode strings. This functions returns true if this is a
unicode string object.

Returns

true if this is a unicode string.

10.114.3.10 bool PoDoFo::PdfString::IsValid ( ) const [inline]

The string is valid if no error in the constructor has occurred. The default constructor PdfString() creates an invalid
string, as do other constructors when passed a NULL char∗ or NULL wchar_t∗. PdfString::StringNull uses the
default constructor so is also invalid. If it is valid it is safe to call all the other member functions.

Returns

true if this is a valid initialized PdfString

10.114.3.11 bool PoDoFo::PdfString::operator!= ( const PdfString & rhs ) const [inline]

Comparison operator
Parameters
rhs compare to this string object

Returns

true if strings have different contents

10.114.3.12 bool PoDoFo::PdfString::operator< ( const PdfString & rhs ) const

Compare two PdfString objects

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


406 Class Documentation

Parameters
rhs another PdfString to compare

Returns

this object

10.114.3.13 const PdfString & PoDoFo::PdfString::operator= ( const PdfString & rhs )

Copy an existing PdfString


Parameters
rhs another PdfString to copy

Returns

this object

10.114.3.14 bool PoDoFo::PdfString::operator== ( const PdfString & rhs ) const

Comparison operator
UTF-8 and UTF-16BE encoded strings of the same data compare equal. Whether the string will be written out as
hex is not considered - only the real "text" is tested for equality.
Parameters
rhs compare to this string object

Returns

true if both strings have the same contents

10.114.3.15 bool PoDoFo::PdfString::operator> ( const PdfString & rhs ) const

Compare two PdfString objects


Parameters
rhs another PdfString to compare

Returns

this object

10.114.3.16 void PoDoFo::PdfString::SetHexData ( const char ∗ pszHex, pdf_long lLen = -1, PdfEncrypt ∗ pEncrypt =
NULL )

Set hex encoded data as the strings data.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.115 PoDoFo::PdfSymbolEncoding Class Reference 407

Parameters
pszHex must be hex encoded data.
lLen length of the hex encoded data. if lLen == -1 then strlen( pszHex ) will be used as length of
the hex data. pszHex has to be zero terminated in this case.
pEncrypt if !NULL assume the hex data is encrypted and should be decrypted after hexdecoding

10.114.3.17 PdfString PoDoFo::PdfString::ToUnicode ( ) const

Converts this string to a unicode string


If IsUnicode() returns true a copy of this string is returned otherwise the string data is converted to UTF-16be and
returned.

Returns

a unicode version of this string, returns ∗this if if PdfString::IsValid() returns false

10.114.3.18 void PoDoFo::PdfString::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const [virtual]

Write this PdfString in PDF format to a PdfOutputDevice


Parameters
pDevice the output device.
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

Implements PoDoFo::PdfDataType.

10.115 PoDoFo::PdfSymbolEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfSymbolEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfSymbolEncoding

Public Member Functions

• PdfSymbolEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


408 Class Documentation

Additional Inherited Members

10.115.1 Detailed Description

Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::SymbolEncoding.

See also

PdfFont::SymbolEncoding

10.115.2 Constructor & Destructor Documentation

10.115.2.1 PoDoFo::PdfSymbolEncoding::PdfSymbolEncoding ( ) [inline]

Create a new PdfSymbolEncoding

10.115.3 Member Function Documentation

10.115.3.1 const pdf_utf16be ∗ PoDoFo::PdfSymbolEncoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.

10.116 PoDoFo::PdfTable Class Reference

#include <PdfTable.h>

Public Types

• typedef PdfPage ∗(∗ CreatePageCallback) (PdfRect &rClipRect, void ∗pCustom)

Public Member Functions

• PdfTable (int nCols, int nRows)


• virtual void Draw (double dX, double dY, PdfPainter ∗pPainter, const PdfRect &rClipRect=PdfRect(), double
∗pdLastX=NULL, double ∗pdLastY=NULL)
• virtual double GetWidth (double dX, double dY, PdfCanvas ∗pPage) const
• virtual double GetHeight (double dX, double dY, PdfCanvas ∗pPage) const
• void SetModel (PdfTableModel ∗pModel)
• const PdfTableModel ∗ GetModel () const
• void SetColumnWidths (double ∗pdWidths)
• void SetRowHeights (double ∗pdHeights)
• void SetColumnWidth (double dWidth)
• void SetRowHeight (double dHeight)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.116 PoDoFo::PdfTable Class Reference 409

• void SetTableWidth (double dWidth)


• void SetTableHeight (double dHeight)
• void SetAutoPageBreak (bool bPageBreak, CreatePageCallback callback, void ∗pCustomData=NULL)
• bool GetAutoPageBreak () const
• int GetCols () const
• int GetRows () const

Protected Member Functions

• void CalculateTableSize (const double dX, const double dY, const PdfCanvas ∗pCanvas, double ∗pdWidths,
double ∗pdHeights, double ∗pdWidth, double ∗pdHeight) const
• void DrawHorizontalBorders (int nRow, double dX, double dY, PdfPainter ∗pPainter, double ∗pdColWidths)
• bool CheckForNewPage (double ∗pdY, double ∗pdCurY, double dRowHeight, PdfPainter ∗pPainter)

10.116.1 Detailed Description

This is a high level class of a table which can be drawn to a PdfPainter.


Use this class if you have to include data into your PDF as an table.

10.116.2 Member Typedef Documentation

10.116.2.1 typedef PdfPage∗(∗ PoDoFo::PdfTable::CreatePageCallback) (PdfRect &rClipRect, void ∗pCustom)

Callback to create a new page for PdfTable.

See also

SetAutoPageBreak

Parameters
rClipRect this is an output parameter which has to be set to the clipping rectangle of the new page. If
the new page has no clipping rectangle set it to PdfRect( 0, 0, PdfPage::GetPageSize().Get←-
Width(), PdfPage::GetPageSize().GetHeight() )
pCustom pointer to user defined data

10.116.3 Constructor & Destructor Documentation

10.116.3.1 PoDoFo::PdfTable::PdfTable ( int nCols, int nRows )

Create a new PdfTable object.


Parameters
nCols number of columns in the table.
nRows number of rows in the table.

10.116.4 Member Function Documentation

10.116.4.1 void PoDoFo::PdfTable::CalculateTableSize ( const double dX, const double dY, const PdfCanvas ∗ pCanvas,
double ∗ pdWidths, double ∗ pdHeights, double ∗ pdWidth, double ∗ pdHeight ) const [protected]

Internal functions that calculates the total table size for a table with the current settings when drawn on a certain
page.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


410 Class Documentation

Parameters
dX the X coordinate of top left at which is drawn
dY the Y coordinate of top left at which is drawn
pCanvas the canvas object (usually a page) on which the table will be drawn.
pdWidths pointer to an array with GetCols() doubles where the width for each column will be stored
pdHeights pointer to an array with GetRows() doublesd where the height for each row will be stored
pdWidth pointer to a double where the total width of the table will be stored
pdHeight pointer to a double where the total height of the table will be stored

10.116.4.2 bool PoDoFo::PdfTable::CheckForNewPage ( double ∗ pdY, double ∗ pdCurY, double dRowHeight, PdfPainter ∗
pPainter ) [protected]

Checks if there is enough space on the current page for one row! If necessary a new page is created.
If GetAutoPageBreak is false, this method does nothing.
Parameters
pdY top of the table
pdCurY pointer to the current y position on the page. Might be reset to a new y position.
dRowHeight height of the next row.
pPainter painter used for drawing

Returns

true if a new page was created, otherwise false

10.116.4.3 void PoDoFo::PdfTable::Draw ( double dX, double dY, PdfPainter ∗ pPainter, const PdfRect & rClipRect =
PdfRect(), double ∗ pdLastX = NULL, double ∗ pdLastY = NULL ) [virtual]

Draw the table with its current settings on a PdfPainter.


Parameters
dX x coordinate of top left of the table
dY y coordinate of top left of the table
pPainter the painter to draw on. The painter has to have a page set currently.
rClipRect the clipping rectangle on the current page
pdLastX the last used X position by the table on the current page will be written to this value (usually
bottom right)
pdLastY the last used Y positon by the table on the current page will be written to this value (usually
bottom right)

10.116.4.4 void PoDoFo::PdfTable::DrawHorizontalBorders ( int nRow, double dX, double dY, PdfPainter ∗ pPainter, double
∗ pdColWidths ) [protected]

Draw one row of horizontal cell borders using the correct color for each cell.
Parameters
nRow the current row
dX left x coordinate
dY y coordinate
pPainter use this painter object
pdColWidths an array containing all colomun widths

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.116 PoDoFo::PdfTable Class Reference 411

10.116.4.5 bool PoDoFo::PdfTable::GetAutoPageBreak ( ) const [inline]

Returns

true if a new page is created automatically if more space is required to draw the table.

See also

SetAutoPageBreak

10.116.4.6 int PoDoFo::PdfTable::GetCols ( ) const [inline]

Returns

the number of columns in the table.

10.116.4.7 double PoDoFo::PdfTable::GetHeight ( double dX, double dY, PdfCanvas ∗ pPage ) const [virtual]

Get the width of the table when drawn with the current settings at a certain position.
Parameters
dX x coordinate of top left of the table
dY y coordinate of top left of the table
pPage the page on which the table will be drawn

Returns

the width of the table

10.116.4.8 const PdfTableModel ∗ PoDoFo::PdfTable::GetModel ( ) const [inline]

Get the current PdfTableModel

Returns

the currently set PdfTableModel or NULL if none was set

10.116.4.9 int PoDoFo::PdfTable::GetRows ( ) const [inline]

Returns

the number of rows in the table.

10.116.4.10 double PoDoFo::PdfTable::GetWidth ( double dX, double dY, PdfCanvas ∗ pPage ) const [virtual]

Get the width of the table when drawn with the current settings at a certain position.
Parameters
dX x coordinate of top left of the table
dY y coordinate of top left of the table
pPage the page on which the table will be drawn

Returns

the width of the table

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


412 Class Documentation

10.116.4.11 void PoDoFo::PdfTable::SetAutoPageBreak ( bool bPageBreak, CreatePageCallback callback, void ∗


pCustomData = NULL ) [inline]

Automatically create a new page and continue drawing the table on the new page, if there is not enough space on
the current page.
The newly created page will be set as the current page on the painter used to draw and will be created using the
same size as the old page.
Parameters
bPageBreak if true automatically create new pages if required.
callback a callback function that is called to create a new page. Please note: PdfTable cannot create
new pages on its own. You always have to implement a callback which does the new page
creation for the PdfTable.
pCustomData custom data that is passed to the callback

By default this feature is turned off and contents are clipped that do not fit on the current page.

See also

GetAutoPageBreak

10.116.4.12 void PoDoFo::PdfTable::SetColumnWidth ( double dWidth ) [inline]

Set all columns to have the same width.


Parameters
dWidth the width of every column

By default the column with is calculated automatically from either the table width or if no table width is set from the
width of the page on which the table is drawn.

10.116.4.13 void PoDoFo::PdfTable::SetColumnWidths ( double ∗ pdWidths )

Set the width of all columns.


Parameters
pdWidths a pointer to an array of GetCols() doubles which are the individual width of a column.

See also

GetCols()

10.116.4.14 void PoDoFo::PdfTable::SetModel ( PdfTableModel ∗ pModel ) [inline]

Set the PdfTableModel that will supply all contents and formatting informations to the table.
Parameters
pModel a PdfTableModel

The model will not be owned by the PdfTable and has to be deleted by the caller.

See also

GetModel

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.116 PoDoFo::PdfTable Class Reference 413

10.116.4.15 void PoDoFo::PdfTable::SetRowHeight ( double dHeight ) [inline]

Set all rows to have the same height.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


414 Class Documentation

Parameters
dHeight the height of every row

By default the row height is calculated automatically from either the table height or if no table height is set from the
height of the page on which the table is drawn.

10.116.4.16 void PoDoFo::PdfTable::SetRowHeights ( double ∗ pdHeights )

Set the height of all rows.


Parameters
pdHeights a pointer to an array of GetRows() doubles which are the individual heights of a row.

See also

GetRows()

10.116.4.17 void PoDoFo::PdfTable::SetTableHeight ( double dHeight ) [inline]

Set the height of the table.


Parameters
dHeight the height of the whole table.

This height is used if no row height is set to calculate the height of every row. If this height is not set, the height of
the page on which this table is drawn is used.

10.116.4.18 void PoDoFo::PdfTable::SetTableWidth ( double dWidth ) [inline]

Set the width of the table.


Parameters
dWidth the width of the whole table.

This width is used if no column width is set to calculate the width of every column. If this width is not set, the width
of the page on which this table is drawn is used.

10.117 PoDoFo::PdfTableModel Class Reference

#include <PdfTable.h>
Inheritance diagram for PoDoFo::PdfTableModel:

PoDoFo::PdfTableModel

PoDoFo::PdfSimpleTableModel

Public Member Functions

• virtual PdfString GetText (int col, int row) const =0


• virtual EPdfAlignment GetAlignment (int col, int row) const =0
• virtual EPdfVerticalAlignment GetVerticalAlignment (int col, int row) const =0

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.117 PoDoFo::PdfTableModel Class Reference 415

• virtual PdfFont ∗ GetFont (int col, int row) const =0


• virtual bool HasBackgroundColor (int col, int row) const =0
• virtual PdfColor GetBackgroundColor (int col, int row) const =0
• virtual PdfColor GetForegroundColor (int col, int row) const =0
• virtual bool HasWordWrap (int col, int row) const =0
• virtual bool HasBorders () const =0
• virtual double GetBorderWidth () const =0
• virtual PdfColor GetBorderColor (int col, int row) const =0
• virtual bool HasImage (int col, int row) const =0
• virtual PdfImage ∗ GetImage (int col, int row) const =0

10.117.1 Detailed Description

This is an abstract interface of a model that can provide data and formatting informations to a PdfTable.
You can implement your own PdfTableModel to supply data to a PdfTable. PdfSimpleTableModel is an example of a
simple model.

See also

PdfTable
PdfSimpleTableModel

10.117.2 Member Function Documentation

10.117.2.1 virtual EPdfAlignment PoDoFo::PdfTableModel::GetAlignment ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the horizontal alignment of the contents in the cell

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.2 virtual PdfColor PoDoFo::PdfTableModel::GetBackgroundColor ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the background color of the specified cell

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.3 virtual PdfColor PoDoFo::PdfTableModel::GetBorderColor ( int col, int row ) const [pure virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


416 Class Documentation

Parameters
col the column of the table cell
row the row of the table cell

Returns

the border color

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.4 virtual double PoDoFo::PdfTableModel::GetBorderWidth ( ) const [pure virtual]

Returns

the stroke witdth of the border line

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.5 virtual PdfFont∗ PoDoFo::PdfTableModel::GetFont ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the font of this table cell or NULL to use the default font

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.6 virtual PdfColor PoDoFo::PdfTableModel::GetForegroundColor ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the foreground (text) color of the specified cell

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.7 virtual PdfImage∗ PoDoFo::PdfTableModel::GetImage ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the image for the specified cell or NULL if the cell has no image

Implemented in PoDoFo::PdfSimpleTableModel.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.117 PoDoFo::PdfTableModel Class Reference 417

10.117.2.8 virtual PdfString PoDoFo::PdfTableModel::GetText ( int col, int row ) const [pure virtual]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


418 Class Documentation

Parameters
col the column of the table cell
row the row of the table cell

Returns

the contents string of this table cell

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.9 virtual EPdfVerticalAlignment PoDoFo::PdfTableModel::GetVerticalAlignment ( int col, int row ) const


[pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

the vertical alignment of the contents in the cell

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.10 virtual bool PoDoFo::PdfTableModel::HasBackgroundColor ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

true if this cell has a background color

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.11 virtual bool PoDoFo::PdfTableModel::HasBorders ( ) const [pure virtual]

Returns

true if the table should have a border around all cells.


false if no cell border should be visible

Cell borders are always drawn using the current PdfPainter settings.
Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.12 virtual bool PoDoFo::PdfTableModel::HasImage ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.118 PoDoFo::PdfTextField Class Reference 419

Returns

true if the table cell contains an image

Implemented in PoDoFo::PdfSimpleTableModel.

10.117.2.13 virtual bool PoDoFo::PdfTableModel::HasWordWrap ( int col, int row ) const [pure virtual]

Parameters
col the column of the table cell
row the row of the table cell

Returns

true if the specified cell should use wordwrapping

Implemented in PoDoFo::PdfSimpleTableModel.

10.118 PoDoFo::PdfTextField Class Reference

#include <PdfField.h>
Inherits PoDoFo::PdfField.

Public Member Functions

• PdfTextField (PdfAnnotation ∗pWidget, PdfAcroForm ∗pParent)


• PdfTextField (PdfPage ∗pPage, const PdfRect &rRect, PdfAcroForm ∗pParent)
• PdfTextField (PdfPage ∗pPage, const PdfRect &rRect, PdfDocument ∗pDoc)
• PdfTextField (PdfPage ∗pPage, const PdfRect &rRect, PdfStreamedDocument ∗pDoc)
• PdfTextField (const PdfField &rhs)
• void SetText (const PdfString &rsText)
• PdfString GetText () const
• void SetMaxLen (pdf_long nMaxLen)
• pdf_long GetMaxLen () const
• void SetMultiLine (bool bMultiLine)
• bool IsMultiLine () const
• void SetPasswordField (bool bPassword)
• bool IsPasswordField () const
• void SetFileField (bool bFile)
• bool IsFileField () const
• void SetSpellcheckingEnabled (bool bSpellcheck)
• bool IsSpellcheckingEnabled () const
• void SetScrollBarsEnabled (bool bScroll)
• bool IsScrollBarsEnabled () const
• void SetCombs (bool bCombs)
• bool IsCombs () const
• void SetRichText (bool bRichText)
• bool IsRichText () const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


420 Class Documentation

10.118.1 Detailed Description

A textfield in a PDF file.


Users can enter text into a text field. Single and multi line text is possible, as well as richtext. The text can be
interpreted as path to a file which is going to be submitted.

10.118.2 Constructor & Destructor Documentation

10.118.2.1 PoDoFo::PdfTextField::PdfTextField ( PdfAnnotation ∗ pWidget, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.118.2.2 PoDoFo::PdfTextField::PdfTextField ( PdfPage ∗ pPage, const PdfRect & rRect, PdfAcroForm ∗ pParent )

Create a new PdfTextField

10.118.2.3 PoDoFo::PdfTextField::PdfTextField ( PdfPage ∗ pPage, const PdfRect & rRect, PdfDocument ∗ pDoc )

Create a new PdfTextField

10.118.2.4 PoDoFo::PdfTextField::PdfTextField ( PdfPage ∗ pPage, const PdfRect & rRect, PdfStreamedDocument ∗


pDoc )

Create a new PdfTextField

10.118.2.5 PoDoFo::PdfTextField::PdfTextField ( const PdfField & rhs )

Create a PdfTextField from a PdfField


Parameters
rhs a PdfField that is a PdfTextField

Raises an error if PdfField::GetType() != ePdfField_TextField

10.118.3 Member Function Documentation

10.118.3.1 pdf_long PoDoFo::PdfTextField::GetMaxLen ( ) const

Returns

the max length of this textfield in characters or -1 if no max length was specified

10.118.3.2 PdfString PoDoFo::PdfTextField::GetText ( ) const

Returns

the text contents of this text field

10.118.3.3 bool PoDoFo::PdfTextField::IsCombs ( ) const [inline]

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.118 PoDoFo::PdfTextField Class Reference 421

Returns

true if the text field has a division into equal combs set on it

10.118.3.4 bool PoDoFo::PdfTextField::IsFileField ( ) const [inline]

Returns

true if the contents are treated as filename

10.118.3.5 bool PoDoFo::PdfTextField::IsMultiLine ( ) const [inline]

Returns

true if this text field can contain multiple lines of text

10.118.3.6 bool PoDoFo::PdfTextField::IsPasswordField ( ) const [inline]

Returns

true if this field is a password field that does not echo entered characters on the screen

10.118.3.7 bool PoDoFo::PdfTextField::IsRichText ( ) const [inline]

Returns

true if this is a richtext text field

10.118.3.8 bool PoDoFo::PdfTextField::IsScrollBarsEnabled ( ) const [inline]

Returns

true if scrollbars are enabled for this text field

10.118.3.9 bool PoDoFo::PdfTextField::IsSpellcheckingEnabled ( ) const [inline]

Returns

true if spellchecking is enabled for this text field

10.118.3.10 void PoDoFo::PdfTextField::SetCombs ( bool bCombs ) [inline]

Divide the text field into max-len equal combs.


Parameters
bCombs if true enable division into combs

By default combs are disabled. Requires the max-len property to be set.

See also

SetMaxLen

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


422 Class Documentation

10.118.3.11 void PoDoFo::PdfTextField::SetFileField ( bool bFile ) [inline]

Create a file selection field. The entered contents are treated as filename to a file whose contents are submitted as
the value of the field.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.118 PoDoFo::PdfTextField Class Reference 423

Parameters
bFile if true the contents are treated as a pathname to a file to submit

10.118.3.12 void PoDoFo::PdfTextField::SetMaxLen ( pdf_long nMaxLen )

Sets the max length in characters of this textfield


Parameters
nMaxLen the max length of this textfields in characters

10.118.3.13 void PoDoFo::PdfTextField::SetMultiLine ( bool bMultiLine ) [inline]

Create a multi-line text field that can contains multiple lines of text.
Parameters
bMultiLine if true a multi line field is generated, otherwise the text field can contain only a single line of
text.

The default is to create a single line text field.

10.118.3.14 void PoDoFo::PdfTextField::SetPasswordField ( bool bPassword ) [inline]

Create a password text field that should not echo entered characters visibly to the screen.
Parameters
bPassword if true a password field is created

The default is to create no password field

10.118.3.15 void PoDoFo::PdfTextField::SetRichText ( bool bRichText ) [inline]

Creates a richtext field.


Parameters
bRichText if true creates a richtext field

By default richtext is disabled.

10.118.3.16 void PoDoFo::PdfTextField::SetScrollBarsEnabled ( bool bScroll ) [inline]

Enable/disable scrollbars for this text field


Parameters
bScroll if true scrollbars will be enabled

Text fields have scrollbars by default

10.118.3.17 void PoDoFo::PdfTextField::SetSpellcheckingEnabled ( bool bSpellcheck ) [inline]

Enable/disable spellchecking for this text field

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


424 Class Documentation

Parameters
bSpellcheck if true spellchecking will be enabled

Text fields are spellchecked by default

10.118.3.18 void PoDoFo::PdfTextField::SetText ( const PdfString & rsText )

Sets the text contents of this text field.


Parameters
rsText the text of this field

10.119 PoDoFo::PdfTilingPattern Class Reference

#include <PdfTilingPattern.h>
Inheritance diagram for PoDoFo::PdfTilingPattern:

PoDoFo::PdfElement

PoDoFo::PdfTilingPattern

Public Member Functions

• const PdfName & GetIdentifier () const


• PdfTilingPattern (EPdfTilingPatternType eTilingType, double strokeR, double strokeG, double strokeB, bool
doFill, double fillR, double fillG, double fillB, double offsetX, double offsetY, PdfImage ∗pImage, PdfVec←-
Objects ∗pParent)
• PdfTilingPattern (EPdfTilingPatternType eTilingType, double strokeR, double strokeG, double strokeB, bool
doFill, double fillR, double fillG, double fillB, double offsetX, double offsetY, PdfImage ∗pImage, PdfDocument
∗pParent)

Additional Inherited Members

10.119.1 Detailed Description

This class defined a tiling pattern which can be used to fill abitrary shapes with a pattern using PdfPainter.

10.119.2 Constructor & Destructor Documentation

10.119.2.1 PoDoFo::PdfTilingPattern::PdfTilingPattern ( EPdfTilingPatternType eTilingType, double strokeR, double


strokeG, double strokeB, bool doFill, double fillR, double fillG, double fillB, double offsetX, double offsetY,
PdfImage ∗ pImage, PdfVecObjects ∗ pParent )

Create a new PdfTilingPattern object, which will introduce itself automatically to every page object it is used on.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.119 PoDoFo::PdfTilingPattern Class Reference 425

Parameters
eTilingType the type of this tiling pattern
strokeR strok color red component
strokeG strok color green component
strokeB strok color blue component
doFill whether tile fills content first, with fill color
fillR fill color red component
fillG fill color green component
fillB fill color blue component
offsetX tile offset on X axis
offsetY tile offset on Y axis
pImage image to use - can be set only if eTilingType is ePdfTilingPatternType_Image
pParent parent vector of objects
\note stroke and fill colors are ignored if eTilingType is ePdfTilingPatternType_Image
\note fill color is ignored if doFill is false
\note pImage is ignored for all but ePdfTilingPatternType_Image eTilingType types, where it

10.119.2.2 PoDoFo::PdfTilingPattern::PdfTilingPattern ( EPdfTilingPatternType eTilingType, double strokeR, double


strokeG, double strokeB, bool doFill, double fillR, double fillG, double fillB, double offsetX, double offsetY,
PdfImage ∗ pImage, PdfDocument ∗ pParent )

Create a new PdfTilingPattern object, which will introduce itself automatically to every page object it is used on.
Parameters
eTilingType the type of this tiling pattern
strokeR strok color red component
strokeG strok color green component
strokeB strok color blue component
doFill whether tile fills content first, with fill color
fillR fill color red component
fillG fill color green component
fillB fill color blue component
offsetX tile offset on X axis
offsetY tile offset on Y axis
pImage image to use - can be set only if eTilingType is ePdfTilingPatternType_Image
pParent parent document
\note stroke and fill colors are ignored if eTilingType is ePdfTilingPatternType_Image
\note fill color is ignored if doFill is false
\note pImage is ignored for all but ePdfTilingPatternType_Image eTilingType types, where it

10.119.3 Member Function Documentation

10.119.3.1 const PdfName & PoDoFo::PdfTilingPattern::GetIdentifier ( ) const [inline]

Returns the identifier of this TilingPattern how it is known in the pages resource dictionary.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


426 Class Documentation

Returns

PdfName containing the identifier (e.g. /PtrnXXXXX)

10.120 PoDoFo::PdfTokenizer Class Reference

#include <PdfTokenizer.h>
Inheritance diagram for PoDoFo::PdfTokenizer:

PoDoFo::PdfTokenizer

PoDoFo::PdfContentsTokenizer PoDoFo::PdfParser PoDoFo::PdfParserObject

PoDoFo::PdfXRefStreamParserObject

Public Member Functions

• virtual bool GetNextToken (const char ∗&pszToken, EPdfTokenType ∗peType=NULL)


• bool IsNextToken (const char ∗pszToken)
• pdf_long GetNextNumber ()
• void GetNextVariant (PdfVariant &rVariant, PdfEncrypt ∗pEncrypt)

Static Public Member Functions

• static PODOFO_NOTHROW bool IsWhitespace (const unsigned char ch)


• static PODOFO_NOTHROW bool IsDelimiter (const unsigned char ch)
• static PODOFO_NOTHROW bool IsRegular (const unsigned char ch)
• static PODOFO_NOTHROW bool IsPrintable (const unsigned char ch)
• static PODOFO_NOTHROW int GetHexValue (const unsigned char ch)

Static Public Attributes

• static const unsigned int HEX_NOT_FOUND = std::numeric_limits<unsigned int>::max()

Protected Member Functions

• void GetNextVariant (const char ∗pszToken, EPdfTokenType eType, PdfVariant &rVariant, PdfEncrypt ∗p←-
Encrypt)
• EPdfDataType DetermineDataType (const char ∗pszToken, EPdfTokenType eType, PdfVariant &rVariant)
• void ReadDictionary (PdfVariant &rVariant, PdfEncrypt ∗pEncrypt)
• void ReadArray (PdfVariant &rVariant, PdfEncrypt ∗pEncrypt)
• void ReadString (PdfVariant &rVariant, PdfEncrypt ∗pEncrypt)
• void ReadHexString (PdfVariant &rVariant, PdfEncrypt ∗pEncrypt)
• void ReadName (PdfVariant &rVariant)
• void QuequeToken (const char ∗pszToken, EPdfTokenType eType)

10.120.1 Detailed Description

A simple tokenizer for PDF files and PDF content streams

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.120 PoDoFo::PdfTokenizer Class Reference 427

10.120.2 Member Function Documentation

10.120.2.1 EPdfDataType PoDoFo::PdfTokenizer::DetermineDataType ( const char ∗ pszToken, EPdfTokenType eType,


PdfVariant & rVariant ) [protected]

Determine the possible datatype of a token. Numbers, reals, bools or NULL values are parsed directly by this
function and saved to a variant.

Returns

the expected datatype

10.120.2.2 int PoDoFo::PdfTokenizer::GetHexValue ( const unsigned char ch ) [inline], [static]

Get the hex value from a static map of a given hex character (0-9, A-F, a-f).
Parameters
ch hex character

Returns

hex value or HEX_NOT_FOUND if invalid

See also

HEX_NOT_FOUND

10.120.2.3 pdf_long PoDoFo::PdfTokenizer::GetNextNumber ( )

Read the next number from the current file position ignoring all comments.
Raises NoNumber exception if the next token is no number, and UnexpectedEOF if no token could be read. No
token is consumed if NoNumber is thrown.

Returns

a number read from the input device.

10.120.2.4 bool PoDoFo::PdfTokenizer::GetNextToken ( const char ∗& pszToken, EPdfTokenType ∗ peType = NULL )
[virtual]

Reads the next token from the current file position ignoring all comments.
Parameters
out pszToken On true return, set to a pointer to the read token (a NULL-terminated C string).
The pointer is to memory owned by PdfTokenizer and must NOT be freed.
The contents are invalidated on the next call to GetNextToken(..) and by the
destruction of the PdfTokenizer. Undefined on false return.
out peType On true return, if not NULL the type of the read token will be stored into this
parameter. Undefined on false return.

Returns

True if a token was read, false if there are no more tokens to read.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


428 Class Documentation

See also

GetBuffer

Reimplemented in PoDoFo::PdfContentsTokenizer.

10.120.2.5 void PoDoFo::PdfTokenizer::GetNextVariant ( PdfVariant & rVariant, PdfEncrypt ∗ pEncrypt )

Read the next variant from the current file position ignoring all comments.
Raises an UnexpectedEOF exception if there is no variant left in the file.
Parameters
rVariant write the read variant to this value
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.2.6 void PoDoFo::PdfTokenizer::GetNextVariant ( const char ∗ pszToken, EPdfTokenType eType, PdfVariant &
rVariant, PdfEncrypt ∗ pEncrypt ) [protected]

Read the next variant from the current file position ignoring all comments.
Raises an exception if there is no variant left in the file.
Parameters
pszToken a token that has already been read
eType type of the passed token
rVariant write the read variant to this value
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.2.7 bool PoDoFo::PdfTokenizer::IsDelimiter ( const unsigned char ch ) [inline], [static]

Returns true if the given character is a delimiter according to the pdf reference

Returns

true if it is a delimiter character otherwise false

10.120.2.8 bool PoDoFo::PdfTokenizer::IsNextToken ( const char ∗ pszToken )

Reads the next token from the current file position ignoring all comments and compare the passed token to the read
token.
If there is no next token available, throws UnexpectedEOF.
Parameters
pszToken a token that is compared to the read token

Returns

true if the read token equals the passed token.

10.120.2.9 bool PoDoFo::PdfTokenizer::IsPrintable ( const unsigned char ch ) [inline], [static]

True if the passed character is within the generally accepted "printable" ASCII range.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.120 PoDoFo::PdfTokenizer Class Reference 429

10.120.2.10 bool PoDoFo::PdfTokenizer::IsRegular ( const unsigned char ch ) [inline], [static]

True if the passed character is a regular character according to the PDF reference (Section 3.1.1, Character Set);
ie it is neither a white-space nor a delimeter character.

10.120.2.11 bool PoDoFo::PdfTokenizer::IsWhitespace ( const unsigned char ch ) [inline], [static]

Returns true if the given character is a whitespace according to the pdf reference

Returns

true if it is a whitespace character otherwise false

10.120.2.12 void PoDoFo::PdfTokenizer::QuequeToken ( const char ∗ pszToken, EPdfTokenType eType ) [protected]

Add a token to the queue of tokens. GetNextToken() will return all enqueued tokens first before reading new tokens
from the input device.
Parameters
pszToken string of the token
eType type of the token

See also

GetNextToken

10.120.2.13 void PoDoFo::PdfTokenizer::ReadArray ( PdfVariant & rVariant, PdfEncrypt ∗ pEncrypt ) [protected]

Read an array from the input device and store it into a variant.
Parameters
rVariant store the array into this variable
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.2.14 void PoDoFo::PdfTokenizer::ReadDictionary ( PdfVariant & rVariant, PdfEncrypt ∗ pEncrypt )


[protected]

Read a dictionary from the input device and store it into a variant.
Parameters
rVariant store the dictionary into this variable
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.2.15 void PoDoFo::PdfTokenizer::ReadHexString ( PdfVariant & rVariant, PdfEncrypt ∗ pEncrypt )


[protected]

Read a hex string from the input device and store it into a variant.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


430 Class Documentation

Parameters
rVariant store the hex string into this variable
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.2.16 void PoDoFo::PdfTokenizer::ReadName ( PdfVariant & rVariant ) [protected]

Read a name from the input device and store it into a variant.
Throws UnexpectedEOF if there is nothing to read.
Parameters
rVariant store the name into this variable

10.120.2.17 void PoDoFo::PdfTokenizer::ReadString ( PdfVariant & rVariant, PdfEncrypt ∗ pEncrypt ) [protected]

Read a string from the input device and store it into a variant.
Parameters
rVariant store the string into this variable
pEncrypt an encryption object which is used to decrypt strings during parsing

10.120.3 Member Data Documentation

10.120.3.1 const unsigned int PoDoFo::PdfTokenizer::HEX_NOT_FOUND = std::numeric_limits<unsigned int>::max()


[static]

Constant which is returned for invalid hex values.

10.121 PoDoFo::PdfTriangleShadingPattern Class Reference

#include <PdfShadingPattern.h>
Inheritance diagram for PoDoFo::PdfTriangleShadingPattern:

PoDoFo::PdfElement

PoDoFo::PdfShadingPattern

PoDoFo::PdfTriangleShadingPattern

Public Member Functions

• PdfTriangleShadingPattern (double dX0, double dY0, const PdfColor &color0, double dX1, double dY1, const
PdfColor &color1, double dX2, double dY2, const PdfColor &color2, PdfVecObjects ∗pParent)
• PdfTriangleShadingPattern (double dX0, double dY0, const PdfColor &color0, double dX1, double dY1, const
PdfColor &color1, double dX2, double dY2, const PdfColor &color2, PdfDocument ∗pParent)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.122 PoDoFo::NonPublic::PdfTTFWriter Class Reference 431

Additional Inherited Members

10.121.1 Detailed Description

A shading pattern that is a simple triangle shading between three colors. It's a single-triangle simplified variation of
a FreeForm shadding pattern.

10.121.2 Constructor & Destructor Documentation

10.121.2.1 PoDoFo::PdfTriangleShadingPattern::PdfTriangleShadingPattern ( double dX0, double dY0, const PdfColor &


color0, double dX1, double dY1, const PdfColor & color1, double dX2, double dY2, const PdfColor & color2,
PdfVecObjects ∗ pParent )

Create a triangle shading pattern


Parameters
dX0 triangle x coordinate of point 0
dY0 triangle y coordinate of point 0
color0 color of point 0
dX1 triangle x coordinate of point 1
dY1 triangle y coordinate of point 1
color1 color of point 1
dX2 triangle x coordinate of point 2
dY2 triangle y coordinate of point 2
color2 color of point 2
pParent the parent

10.121.2.2 PoDoFo::PdfTriangleShadingPattern::PdfTriangleShadingPattern ( double dX0, double dY0, const PdfColor &


color0, double dX1, double dY1, const PdfColor & color1, double dX2, double dY2, const PdfColor & color2,
PdfDocument ∗ pParent )

Create a triangle shading pattern


Parameters
dX0 triangle x coordinate of point 0
dY0 triangle y coordinate of point 0
color0 color of point 0
dX1 triangle x coordinate of point 1
dY1 triangle y coordinate of point 1
color1 color of point 1
dX2 triangle x coordinate of point 2
dY2 triangle y coordinate of point 2
color2 color of point 2
pParent the parent

10.122 PoDoFo::NonPublic::PdfTTFWriter Class Reference

#include <PdfTTFWriter.h>

Public Member Functions

• PdfTTFWriter ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


432 Class Documentation

• void Read (PdfInputDevice ∗pDevice)


• void Subset ()
• void Write (PdfOutputDevice ∗pDevice)

10.122.1 Detailed Description

An internal class which can parse a TrueType font file and write a subset of this TrueType font back to an output
device.
This class is used internally to do font subsetting.
The usual way to use this class is:
PdfTTFWriter writer; writer.Read ( [an input device] ); // read the font from a device writer.Subset ( ); // do the
subsetting writer.Write ( [an output device] ); // write the font back to a device

10.122.2 Constructor & Destructor Documentation

10.122.2.1 PoDoFo::NonPublic::PdfTTFWriter::PdfTTFWriter ( )

Create a PdfTTFWriter object. For testing purposes.


TODO: Remove
The TTF format.

• Big endian

• Required tables: cmap character to glyph mapping CHK glyf glyph data CHK head font header CHK hhea
horizontal header CHK hmtx horizontal metrics CHK loca index to location CHK maxp maximum profile CHK
name naming table CHK post PostScript information OS/2 OS/2 and Windows specific metrics CHK

10.122.3 Member Function Documentation

10.122.3.1 void PoDoFo::NonPublic::PdfTTFWriter::Read ( PdfInputDevice ∗ pDevice )

Fills the internal data structures using an existing TrueType font.


Parameters
pDevice the TTF is read from this device

10.122.3.2 void PoDoFo::NonPublic::PdfTTFWriter::Subset ( )

Do the actual subsetting of the font data TODO

10.122.3.3 void PoDoFo::NonPublic::PdfTTFWriter::Write ( PdfOutputDevice ∗ pDevice )

Write a TTF font from the current internal structures to an output device.
Parameters
pDevice write the font to this device

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.123 PoDoFo::PdfType1Encrypt Class Reference 433

10.123 PoDoFo::PdfType1Encrypt Class Reference

#include <PdfFontType1.h>
Inherited by PoDoFo::PdfType1EncryptCharstring, and PoDoFo::PdfType1EncryptEexec.

Public Member Functions

• PdfType1Encrypt ()
• unsigned char Encrypt (unsigned char plain)
• unsigned char Decrypt (unsigned char cipher)

10.123.1 Detailed Description

Helper Class needed for parsing type1-font for subsetting

10.123.2 Constructor & Destructor Documentation

10.123.2.1 PoDoFo::PdfType1Encrypt::PdfType1Encrypt ( )

Create a new PdfTypeEncrypt object.

10.123.3 Member Function Documentation

10.123.3.1 unsigned char PoDoFo::PdfType1Encrypt::Decrypt ( unsigned char cipher )

Decrypts a character
Parameters
cipher the cipher to decrypt.

Returns

decrypted character

10.123.3.2 unsigned char PoDoFo::PdfType1Encrypt::Encrypt ( unsigned char plain )

Encrypts a character
Parameters
plain the character to encrypt.

Returns

encrypted cipher

10.124 PoDoFo::PdfVariant Class Reference

#include <PdfVariant.h>
Inheritance diagram for PoDoFo::PdfVariant:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


434 Class Documentation

PoDoFo::PdfVariant

PoDoFo::PdfObject

PoDoFo::PdfParserObject

PoDoFo::PdfXRefStreamParserObject

Public Member Functions

• PdfVariant ()
• PdfVariant (bool b)
• PdfVariant (pdf_int64 l)
• PdfVariant (double d)
• PdfVariant (const PdfString &rsString)
• PdfVariant (const PdfName &rName)
• PdfVariant (const PdfReference &rRef)
• PdfVariant (const PdfArray &tList)
• PdfVariant (const PdfDictionary &rDict)
• PdfVariant (const PdfData &rData)
• PdfVariant (const PdfVariant &rhs)
• bool IsEmpty () const
• void Clear ()
• EPdfDataType GetDataType () const
• const char ∗ GetDataTypeString () const
• bool IsBool () const
• bool IsNumber () const
• bool IsReal () const
• bool IsString () const
• bool IsHexString () const
• bool IsName () const
• bool IsArray () const
• bool IsDictionary () const
• bool IsRawData () const
• bool IsNull () const
• bool IsReference () const
• void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt=NULL)
const
• virtual void Write (PdfOutputDevice ∗pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt ∗pEncrypt,
const PdfName &keyStop) const
• void ToString (std::string &rsData, EPdfWriteMode eWriteMode=ePdfWriteMode_Clean) const
• void SetBool (bool b)
• bool GetBool () const
• void SetNumber (long l)
• pdf_int64 GetNumber () const
• void SetReal (double d)
• double GetReal () const
• const PdfString & GetString () const
• const PdfName & GetName () const
• const PdfArray & GetArray () const
• PdfArray & GetArray ()

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 435

• const PdfDictionary & GetDictionary () const


• PdfDictionary & GetDictionary ()
• const PdfReference & GetReference () const
• const PdfData & GetRawData () const
• PdfData & GetRawData ()
• const PdfVariant & operator= (const PdfVariant &rhs)
• bool operator== (const PdfVariant &rhs) const
• bool operator!= (const PdfVariant &rhs) const
• bool IsDirty () const
• void SetImmutable (bool bImmutable)
• bool GetImmutable () const

Protected Member Functions

• void AssertMutable () const


• void SetDirty (bool bDirty)
• void DelayedLoad () const
• void EnableDelayedLoading ()
• virtual void DelayedLoadImpl ()
• PODOFO_NOTHROW bool DelayedLoadDone () const
• const PdfDictionary & GetDictionary_NoDL () const
• PdfDictionary & GetDictionary_NoDL ()
• const PdfArray & GetArray_NoDL () const
• PdfArray & GetArray_NoDL ()

10.124.1 Detailed Description

A variant data type which supports all data types supported by the PDF standard. The data can be parsed directly
from a string or set by one of the members. One can also convert the variant back to a string after setting the values.

Warning

All methods not marked otherwise may trigger a deferred load. This means that they are unsafe to call while
a deferred load is already in progress (as recursion will occurr).

TODO: domseichter: Make this class implicitly shared

10.124.2 Constructor & Destructor Documentation

10.124.2.1 PoDoFo::PdfVariant::PdfVariant ( )

Construct an empty variant type IsNull() will return true.

10.124.2.2 PoDoFo::PdfVariant::PdfVariant ( bool b )

Construct a PdfVariant that is a bool.


Parameters
b the boolean value of this PdfVariant

10.124.2.3 PoDoFo::PdfVariant::PdfVariant ( pdf_int64 l )

Construct a PdfVariant that is a number.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


436 Class Documentation

Parameters
l the value of the number.

10.124.2.4 PoDoFo::PdfVariant::PdfVariant ( double d )

Construct a PdfVariant that is a real number.


Parameters
d the value of the real number.

10.124.2.5 PoDoFo::PdfVariant::PdfVariant ( const PdfString & rsString )

Construct a PdfVariant that is a string. The argument string will be escaped where necessary, so it should be
passed in unescaped form.
Parameters
rsString the value of the string

10.124.2.6 PoDoFo::PdfVariant::PdfVariant ( const PdfName & rName )

Construct a PdfVariant that is a name.


Parameters
rName the value of the name

10.124.2.7 PoDoFo::PdfVariant::PdfVariant ( const PdfReference & rRef )

Construct a PdfVariant that is a name.


Parameters
rRef the value of the name

10.124.2.8 PoDoFo::PdfVariant::PdfVariant ( const PdfArray & tList )

Construct a PdfVariant object with array data. The variant will automatically get the datatype ePdfDataType_Array.
This constructor is the fastest way to create a new PdfVariant that is an array.
Parameters
tList a list of variants

10.124.2.9 PoDoFo::PdfVariant::PdfVariant ( const PdfDictionary & rDict )

Construct a PdfVariant that is a dictionary.


Parameters
rDict the value of the dictionary.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 437

10.124.2.10 PoDoFo::PdfVariant::PdfVariant ( const PdfData & rData )

Construct a PdfVariant that contains raw PDF data.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


438 Class Documentation

Parameters
rData raw and valid PDF data.

10.124.2.11 PoDoFo::PdfVariant::PdfVariant ( const PdfVariant & rhs )

Constructs a new PdfVariant which has the same contents as rhs.


Parameters
rhs an existing variant which is copied.

10.124.3 Member Function Documentation

10.124.3.1 void PoDoFo::PdfVariant::AssertMutable ( ) const [inline], [protected]

Will throw an exception if called on an immutable object, so this should be called before actually changing a value!

10.124.3.2 void PoDoFo::PdfVariant::Clear ( )

Clear all internal member variables and free the memory they have allocated. Sets the datatype to ePdfDataType←-
_Null
This will reset the dirty flag of this object to be clean.

See also

IsDirty

10.124.3.3 void PoDoFo::PdfVariant::DelayedLoad ( ) const [inline], [protected]

Dynamically load the contents of this object from a PDF file by calling the virtual method DelayedLoadImpl() if the
object is not already loaded.
For objects complete created in memory and those that do not support deferred loading this function does nothing,
since deferred loading will not be enabled.

10.124.3.4 bool PoDoFo::PdfVariant::DelayedLoadDone ( ) const [inline], [protected]

Returns true if delayed loading is disabled, or if it is enabled and loading has completed. External callers should
never need to see this, it's an internal state flag only.

10.124.3.5 void PoDoFo::PdfVariant::DelayedLoadImpl ( ) [inline], [protected], [virtual]

Load all data of the object if delayed loading is enabled.


Never call this method directly; use DelayedLoad() instead.
You should override this to control deferred loading in your subclass. Note that this method should not load any
associated streams, just the base object.
The default implementation throws. It should never be called, since objects that do not support delayed loading
should not enable it.
While this method is not ‘const' it may be called from a const context, so be careful what you mess with.
Reimplemented in PoDoFo::PdfParserObject.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 439

10.124.3.6 void PoDoFo::PdfVariant::EnableDelayedLoading ( ) [inline], [protected]

Flag the object incompletely loaded. DelayedLoad() will be called when any method that requires more information
than is currently available is loaded.
All constructors initialize a PdfVariant with delayed loading disabled . If you want delayed loading you must ask for
it. If you do so, call this method early in your ctor and be sure to override DelayedLoadImpl().

10.124.3.7 const PdfArray & PoDoFo::PdfVariant::GetArray ( ) const [inline]

Returns the value of the object as array

Returns

a array

10.124.3.8 PdfArray & PoDoFo::PdfVariant::GetArray ( ) [inline]

Returns the value of the object as array

Returns

a array

10.124.3.9 const PdfArray & PoDoFo::PdfVariant::GetArray_NoDL ( ) const [inline], [protected]

Version of GetArray() that doesn't trigger a delayed load

Returns

a PdfArray

10.124.3.10 PdfArray & PoDoFo::PdfVariant::GetArray_NoDL ( ) [inline], [protected]

Version of GetArray() that doesn't trigger a delayed load.

Returns

a PdfArray

10.124.3.11 bool PoDoFo::PdfVariant::GetBool ( ) const [inline]

Get the value if this object is a bool.

Returns

the bool value.

10.124.3.12 EPdfDataType PoDoFo::PdfVariant::GetDataType ( ) const [inline]

Returns

the datatype of this object or ePdfDataType_Unknown if it does not have a value.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


440 Class Documentation

10.124.3.13 const char ∗ PoDoFo::PdfVariant::GetDataTypeString ( ) const

Returns

a human readable string representation of GetDataType() The returned string must not be free'd.

10.124.3.14 const PdfDictionary & PoDoFo::PdfVariant::GetDictionary ( ) const [inline]

Returns the dictionary value of this object

Returns

a PdfDictionary

10.124.3.15 PdfDictionary & PoDoFo::PdfVariant::GetDictionary ( ) [inline]

Returns the dictionary value of this object

Returns

a PdfDictionary

10.124.3.16 const PdfDictionary & PoDoFo::PdfVariant::GetDictionary_NoDL ( ) const [inline], [protected]

Version of GetDictionary() that doesn't trigger a delayed load

Returns

a PdfDictionary

10.124.3.17 PdfDictionary & PoDoFo::PdfVariant::GetDictionary_NoDL ( ) [inline], [protected]

Version of GetDictionary() that doesn't trigger a delayed load

Returns

a PdfDictionary

10.124.3.18 bool PoDoFo::PdfVariant::GetImmutable ( ) const [inline]

Retrieve if an object is immutable.


This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after
setting stream data on it.

Returns

true if the object is immutable

10.124.3.19 const PdfName & PoDoFo::PdfVariant::GetName ( ) const [inline]

Returns

the value of the object as name

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 441

10.124.3.20 pdf_int64 PoDoFo::PdfVariant::GetNumber ( ) const [inline]

Get the value of the object as long.

Returns

the value of the number

10.124.3.21 const PdfData & PoDoFo::PdfVariant::GetRawData ( ) const [inline]

Get the reference values of this object.

Returns

a reference to the PdfData instance.

10.124.3.22 PdfData & PoDoFo::PdfVariant::GetRawData ( ) [inline]

Get the reference values of this object.

Returns

a reference to the PdfData instance.

10.124.3.23 double PoDoFo::PdfVariant::GetReal ( ) const [inline]

Get the value of the object as double.

Returns

the value of the number

10.124.3.24 const PdfReference & PoDoFo::PdfVariant::GetReference ( ) const [inline]

Get the reference values of this object.

Returns

a PdfReference

10.124.3.25 const PdfString & PoDoFo::PdfVariant::GetString ( ) const [inline]

Returns

the value of the object as string.

10.124.3.26 bool PoDoFo::PdfVariant::IsArray ( ) const [inline]

Returns

true if this variant is an array (i.e. GetDataType() == ePdfDataType_Array)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


442 Class Documentation

10.124.3.27 bool PoDoFo::PdfVariant::IsBool ( ) const [inline]

Returns

true if this variant is a bool (i.e. GetDataType() == ePdfDataType_Bool)

10.124.3.28 bool PoDoFo::PdfVariant::IsDictionary ( ) const [inline]

Returns

true if this variant is a dictionary (i.e. GetDataType() == ePdfDataType_Dictionary)

10.124.3.29 bool PoDoFo::PdfVariant::IsDirty ( ) const [inline]

The dirty flag is set if this variant has been modified after construction.
Usually the dirty flag is also set if you call any non-const member function (e.g. GetDictionary()) as PdfVariant
cannot determine if you actually changed the dictionary or not.

Returns

true if the value is dirty and has been modified since construction

10.124.3.30 bool PoDoFo::PdfVariant::IsEmpty ( ) const [inline]

Returns

true if this PdfVariant is empty. i.e. m_eDataType == ePdfDataType_Null

10.124.3.31 bool PoDoFo::PdfVariant::IsHexString ( ) const [inline]

Returns

true if this variant is a hex-string (i.e. GetDataType() == ePdfDataType_HexString)

10.124.3.32 bool PoDoFo::PdfVariant::IsName ( ) const [inline]

Returns

true if this variant is a name (i.e. GetDataType() == ePdfDataType_Name)

10.124.3.33 bool PoDoFo::PdfVariant::IsNull ( ) const [inline]

Returns

true if this variant is null (i.e. GetDataType() == ePdfDataType_Null)

10.124.3.34 bool PoDoFo::PdfVariant::IsNumber ( ) const [inline]

Returns

true if this variant is a number (i.e. GetDataType() == ePdfDataType_Number)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 443

10.124.3.35 bool PoDoFo::PdfVariant::IsRawData ( ) const [inline]

Returns

true if this variant is raw data (i.e. GetDataType() == ePdfDataType_RawData

10.124.3.36 bool PoDoFo::PdfVariant::IsReal ( ) const [inline]

Returns

true if this variant is a real (i.e. GetDataType() == ePdfDataType_Real)

10.124.3.37 bool PoDoFo::PdfVariant::IsReference ( ) const [inline]

Returns

true if this variant is a reference (i.e. GetDataType() == ePdfDataType_Reference)

10.124.3.38 bool PoDoFo::PdfVariant::IsString ( ) const [inline]

Returns

true if this variant is a string (i.e. GetDataType() == ePdfDataType_String)

10.124.3.39 bool PoDoFo::PdfVariant::operator!= ( const PdfVariant & rhs ) const [inline]

See also

operator==

10.124.3.40 const PdfVariant & PoDoFo::PdfVariant::operator= ( const PdfVariant & rhs )

Assign the values of another PdfVariant to this one.


Parameters
rhs an existing variant which is copied.

This will set the dirty flag of this object.

See also

IsDirty

10.124.3.41 bool PoDoFo::PdfVariant::operator== ( const PdfVariant & rhs ) const

Test to see if the value contained by this variant is the same as the value of the other variant.

10.124.3.42 void PoDoFo::PdfVariant::SetBool ( bool b ) [inline]

Set the value of this object as bool

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


444 Class Documentation

Parameters
b the value as bool.

This will set the dirty flag of this object.

See also

IsDirty

10.124.3.43 void PoDoFo::PdfVariant::SetDirty ( bool bDirty ) [inline], [protected]

Sets the dirty flag of this PdfVariant


Parameters
bDirty true if this PdfVariant has been modified from the outside

See also

IsDirty

10.124.3.44 void PoDoFo::PdfVariant::SetImmutable ( bool bImmutable ) [inline]

Sets this object to immutable, so that no keys can be edited or changed.


Parameters
bImmutable if true set the object to be immutable

This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after
setting stream data on it.

10.124.3.45 void PoDoFo::PdfVariant::SetNumber ( long l ) [inline]

Set the value of this object as long


Parameters
l the value as long.

This will set the dirty flag of this object.

See also

IsDirty

10.124.3.46 void PoDoFo::PdfVariant::SetReal ( double d ) [inline]

Set the value of this object as double


Parameters
d the value as double.

This will set the dirty flag of this object.

See also

IsDirty

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.124 PoDoFo::PdfVariant Class Reference 445

10.124.3.47 void PoDoFo::PdfVariant::ToString ( std::string & rsData, EPdfWriteMode eWriteMode =


ePdfWriteMode_Clean ) const

Converts the current object into a string representation which can be written directly to a PDF file on disc.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


446 Class Documentation

Parameters
rsData the object string is returned in this object.
eWriteMode additional options for writing to a string

10.124.3.48 void PoDoFo::PdfVariant::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt = NULL ) const

Write the complete variant to an output device. This is an overloaded member function.
Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object

10.124.3.49 void PoDoFo::PdfVariant::Write ( PdfOutputDevice ∗ pDevice, EPdfWriteMode eWriteMode, const


PdfEncrypt ∗ pEncrypt, const PdfName & keyStop ) const [virtual]

Write the complete variant to an output device.


Parameters
pDevice write the object to this device
eWriteMode additional options for writing this object
pEncrypt an encryption object which is used to encrypt this object or NULL to not encrypt this object
keyStop if not KeyNull and a key == keyStop is found writing will stop right before this key! if Is←-
Dictionary returns true.

10.125 PoDoFo::PdfVecObjects Class Reference

#include <PdfVecObjects.h>

Classes

• class Observer
• class StreamFactory

Public Member Functions

• PdfVecObjects ()
• PdfDocument ∗ GetParentDocument () const
• void SetParentDocument (PdfDocument ∗pDocument)
• void SetAutoDelete (bool bAutoDelete)
• bool AutoDelete () const
• void Clear ()
• size_t GetSize () const
• size_t GetObjectCount () const
• PdfObject ∗ GetObject (const PdfReference &ref) const
• size_t GetIndex (const PdfReference &ref) const
• PdfObject ∗ RemoveObject (const PdfReference &ref, bool bMarkAsFree=true)
• PdfObject ∗ RemoveObject (const TIVecObjects &it)

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.125 PoDoFo::PdfVecObjects Class Reference 447

• PdfObject ∗ CreateObject (const char ∗pszType=NULL)


• PdfObject ∗ CreateObject (const PdfVariant &rVariant)
• void AddFreeObject (const PdfReference &rReference)
• const TPdfReferenceList & GetFreeObjects () const
• void RenumberObjects (PdfObject ∗pTrailer, TPdfReferenceSet ∗pNotDelete=NULL, bool bDoGarbage←-
Collection=false)
• void push_back (PdfObject ∗pObj)
• void insert_sorted (PdfObject ∗pObj)
• void Sort ()
• void Reserve (size_t size)
• void GetObjectDependencies (const PdfObject ∗pObj, TPdfReferenceList ∗pList) const
• void Attach (Observer ∗pObserver)
• void Detach (Observer ∗pObserver)
• void SetStreamFactory (StreamFactory ∗pFactory)
• PdfStream ∗ CreateStream (PdfObject ∗pParent)
• PdfStream ∗ CreateStream (const PdfStream &rhs)
• void WriteObject (PdfObject ∗pObject)
• void Finish ()
• void BeginAppendStream (const PdfStream ∗pStream)
• void EndAppendStream (const PdfStream ∗pStream)
• TIVecObjects begin ()
• TCIVecObjects begin () const
• TIVecObjects end ()
• TCIVecObjects end () const
• PdfObject ∗ GetBack ()
• void CollectGarbage (PdfObject ∗pTrailer)
• std::string GetNextSubsetPrefix ()
• void SetObjectCount (const PdfReference &rRef)

10.125.1 Detailed Description

A STL vector of PdfObjects. I.e. a list of PdfObject classes. The PdfParser will read the PdfFile into memory and
create a PdfVecObjects of all dictionaries found in the PDF file.
The PdfWriter class contrary creates a PdfVecObjects internally and writes it to a PDF file later with an appropriate
table of contents.
These class contains also advanced funtions for searching of PdfObject's in a PdfVecObject.

10.125.2 Constructor & Destructor Documentation

10.125.2.1 PoDoFo::PdfVecObjects::PdfVecObjects ( )

Default constuctor

10.125.3 Member Function Documentation

10.125.3.1 void PoDoFo::PdfVecObjects::AddFreeObject ( const PdfReference & rReference )

Mark a reference as unused so that it can be reused for new objects.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


448 Class Documentation

Parameters
rReference the reference to reuse

10.125.3.2 void PoDoFo::PdfVecObjects::Attach ( Observer ∗ pObserver ) [inline]

Attach a new observer


Parameters
pObserver to attach

10.125.3.3 bool PoDoFo::PdfVecObjects::AutoDelete ( ) const [inline]

Returns

if autodeletion is enabled and all objects will be deleted when the PdfVecObjects is deleted.

10.125.3.4 TIVecObjects PoDoFo::PdfVecObjects::begin ( ) [inline]

Iterator pointing at the begining of the vector

Returns

beginning iterator

10.125.3.5 TCIVecObjects PoDoFo::PdfVecObjects::begin ( ) const [inline]

Iterator pointing at the begining of the vector

Returns

beginning iterator

10.125.3.6 void PoDoFo::PdfVecObjects::BeginAppendStream ( const PdfStream ∗ pStream )

Every stream implementation has to call this in BeginAppend


Parameters
pStream the stream object that is calling

10.125.3.7 void PoDoFo::PdfVecObjects::Clear ( )

Removes all objects from the vector and resets it to the default state.
If SetAutoDelete is true all objects are deleted. All observers are removed from the vector.

See also

SetAutoDelete
AutoDelete

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.125 PoDoFo::PdfVecObjects Class Reference 449

10.125.3.8 void PoDoFo::PdfVecObjects::CollectGarbage ( PdfObject ∗ pTrailer )

Deletes all objects that are not references by other objects besides the trailer (which references the root dictionary,
which in turn should reference all other objects).

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


450 Class Documentation

Parameters
pTrailer trailer object of the PDF
Warning this might be slow!

10.125.3.9 PdfObject ∗ PoDoFo::PdfVecObjects::CreateObject ( const char ∗ pszType = NULL )

Creates a new object and inserts it into the vector. This function assigns the next free object number to the Pdf←-
Object.
Parameters
pszType optionall value of the /Type key of the object

Returns

PdfObject pointer to the new PdfObject

10.125.3.10 PdfObject ∗ PoDoFo::PdfVecObjects::CreateObject ( const PdfVariant & rVariant )

Creates a new object (of type rVariants) and inserts it into the vector. This function assigns the next free object
number to the PdfObject.
Parameters
rVariant value of the PdfObject

Returns

PdfObject pointer to the new PdfObject

10.125.3.11 PdfStream ∗ PoDoFo::PdfVecObjects::CreateStream ( PdfObject ∗ pParent )

Creates a stream object This method is a factory for PdfStream objects.


Parameters
pParent parent object

Returns

a new stream object

10.125.3.12 PdfStream ∗ PoDoFo::PdfVecObjects::CreateStream ( const PdfStream & rhs )

Creates a stream object by copying an existing stream


Parameters
rhs copy this stream

Returns

a new stream object

10.125.3.13 void PoDoFo::PdfVecObjects::Detach ( Observer ∗ pObserver )

Detach an observer.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.125 PoDoFo::PdfVecObjects Class Reference 451

Parameters
pObserver observer to detach

10.125.3.14 TIVecObjects PoDoFo::PdfVecObjects::end ( ) [inline]

Iterator pointing at the end of the vector

Returns

ending iterator

10.125.3.15 TCIVecObjects PoDoFo::PdfVecObjects::end ( ) const [inline]

Iterator pointing at the end of the vector

Returns

ending iterator

10.125.3.16 void PoDoFo::PdfVecObjects::EndAppendStream ( const PdfStream ∗ pStream )

Every stream implementation has to call this in EndAppend


Parameters
pStream the stream object that is calling

10.125.3.17 void PoDoFo::PdfVecObjects::Finish ( )

Call whenever a document is finished

10.125.3.18 PdfObject ∗ PoDoFo::PdfVecObjects::GetBack ( ) [inline]

Get the last object in the vector

Returns

the last object in the vector or NULL if the vector is emtpy.

10.125.3.19 const TPdfReferenceList & PoDoFo::PdfVecObjects::GetFreeObjects ( ) const [inline]

Returns

a list of free references in this vector

10.125.3.20 size_t PoDoFo::PdfVecObjects::GetIndex ( const PdfReference & ref ) const

Finds the object with the given reference in m_vecOffsets and returns the index to it.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


452 Class Documentation

Parameters
ref the object to be found

Returns

the found object or NULL if no object was found.

10.125.3.21 std::string PoDoFo::PdfVecObjects::GetNextSubsetPrefix ( )

Get next unique subset-prefix

Returns

a string to use as subset-prefix.

10.125.3.22 PdfObject ∗ PoDoFo::PdfVecObjects::GetObject ( const PdfReference & ref ) const

Finds the object with the given reference in m_vecOffsets and returns a pointer to it if it is found.
Parameters
ref the object to be found

Returns

the found object or NULL if no object was found.

10.125.3.23 size_t PoDoFo::PdfVecObjects::GetObjectCount ( ) const [inline]

Returns

the highest object number in the vector

10.125.3.24 void PoDoFo::PdfVecObjects::GetObjectDependencies ( const PdfObject ∗ pObj, TPdfReferenceList ∗ pList )


const

Get a set with all references of objects that the passed object depends on.
Parameters
pObj the object to calculate all dependencies for
pList write the list of dependencies to this list

10.125.3.25 PdfDocument ∗ PoDoFo::PdfVecObjects::GetParentDocument ( ) const [inline]

Returns

a pointer to a PdfDocument that is the parent of this vector. Might be NULL if the vector has no parent.

10.125.3.26 size_t PoDoFo::PdfVecObjects::GetSize ( ) const [inline]

Returns

the size of the internal vector

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.125 PoDoFo::PdfVecObjects Class Reference 453

10.125.3.27 void PoDoFo::PdfVecObjects::insert_sorted ( PdfObject ∗ pObj )

Insert an object into this vector so that the vector remains sorted w.r.t. the ordering based on object and generation
numbers m_bObjectCount will be increased for the object.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


454 Class Documentation

Parameters
pObj pointer to the object you want to insert

10.125.3.28 void PoDoFo::PdfVecObjects::push_back ( PdfObject ∗ pObj )

See also

insert_sorted

Simple forward to insert sorted, as PdfVecObjects is always sorted.

10.125.3.29 PdfObject ∗ PoDoFo::PdfVecObjects::RemoveObject ( const PdfReference & ref, bool bMarkAsFree = true )

Remove the object with the given object and generation number from the list of objects. The object is returned if it
was found. Otherwise NULL is returned. The caller has to delete the object by hisself.
Parameters
ref the object to be found
bMarkAsFree if true the removed object reference is marked as free object you will always want to have this
true as invalid PDF files can be generated otherwise

Returns

The removed object.

10.125.3.30 PdfObject ∗ PoDoFo::PdfVecObjects::RemoveObject ( const TIVecObjects & it )

Remove the object with the iterator it from the vector and return it
Parameters
it the object to remove

Returns

the removed object

10.125.3.31 void PoDoFo::PdfVecObjects::RenumberObjects ( PdfObject ∗ pTrailer, TPdfReferenceSet ∗ pNotDelete = NULL,


bool bDoGarbageCollection = false )

Renumbers all objects according to there current position in the vector. All references remain intact. Warning! This
function is very calculation intensive.
Parameters
pTrailer the trailer object
pNotDelete a list of object which must not be deleted
bDoGarbage←- enable garbage collection, which deletes all objects that are not reachable from the trailer.
Collection This might be slow!

See also

CollectGarbage

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.125 PoDoFo::PdfVecObjects Class Reference 455

10.125.3.32 void PoDoFo::PdfVecObjects::Reserve ( size_t size ) [inline]

Causes the internal vector to reserve space for size elements.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


456 Class Documentation

Parameters
size reserve space for that much elements in the internal vector

10.125.3.33 void PoDoFo::PdfVecObjects::SetAutoDelete ( bool bAutoDelete ) [inline]

Enable/disable auto deletion. By default auto deletion is disabled.


Parameters
bAutoDelete if true all objects will be deleted when the PdfVecObjects is deleted.

10.125.3.34 void PoDoFo::PdfVecObjects::SetObjectCount ( const PdfReference & rRef ) [inline]

Set the object count so that the object described this reference is contained in the object count.
Parameters
rRef reference of newly added object

10.125.3.35 void PoDoFo::PdfVecObjects::SetParentDocument ( PdfDocument ∗ pDocument ) [inline]

Sets a parent document of this vector


Parameters
pDocument the parent of this vector

10.125.3.36 void PoDoFo::PdfVecObjects::SetStreamFactory ( StreamFactory ∗ pFactory ) [inline]

Sets a StreamFactory which is used whenever CreateStream is called.


Parameters
pFactory a stream factory or NULL to reset to the default factory

10.125.3.37 void PoDoFo::PdfVecObjects::Sort ( )

Sort the objects in the vector based on their object and generation numbers

10.125.3.38 void PoDoFo::PdfVecObjects::WriteObject ( PdfObject ∗ pObject )

Can be called to force objects to be written to disk.


Parameters
pObject a PdfObject that should be written to disk.

10.126 PoDoFo::PdfWin1250Encoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfWin1250Encoding:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.127 PoDoFo::PdfWinAnsiEncoding Class Reference 457

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfWinAnsiEncoding

PoDoFo::PdfWin1250Encoding

Public Member Functions

• PdfWin1250Encoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.126.1 Detailed Description

WINDOWS-1250 encoding

10.126.2 Constructor & Destructor Documentation

10.126.2.1 PoDoFo::PdfWin1250Encoding::PdfWin1250Encoding ( ) [inline]

Create a new PdfWin1250Encoding

10.126.3 Member Function Documentation

10.126.3.1 const pdf_utf16be ∗ PoDoFo::PdfWin1250Encoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Reimplemented from PoDoFo::PdfWinAnsiEncoding.

10.127 PoDoFo::PdfWinAnsiEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfWinAnsiEncoding:

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


458 Class Documentation

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfWinAnsiEncoding

PoDoFo::PdfIso88592Encoding PoDoFo::PdfWin1250Encoding

Public Member Functions

• PdfWinAnsiEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const


• virtual void AddToDictionary (PdfDictionary &rDictionary) const

Additional Inherited Members

10.127.1 Detailed Description

The WinAnsi Encoding is the default encoding in PoDoFo for contents on PDF pages.
It is also called CP-1252 encoding. This class may be used as base for derived encodings.

See also

PdfWin1250Encoding

Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::WinAnsiEncoding.

See also

PdfFont::WinAnsiEncoding

10.127.2 Constructor & Destructor Documentation

10.127.2.1 PoDoFo::PdfWinAnsiEncoding::PdfWinAnsiEncoding ( ) [inline]

Create a new PdfWinAnsiEncoding

10.127.3 Member Function Documentation

10.127.3.1 void PoDoFo::PdfWinAnsiEncoding::AddToDictionary ( PdfDictionary & rDictionary ) const [protected],


[virtual]

Add this encoding object to a dictionary usually be adding an /Encoding key in font dictionaries.
This method generates array of differences into /Encoding dictionary if called from derived class with different
unicode table.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.128 PoDoFo::PdfWriter Class Reference 459

Parameters
rDictionary add the encoding to this dictionary

Reimplemented from PoDoFo::PdfSimpleEncoding.

10.127.3.2 const pdf_utf16be ∗ PoDoFo::PdfWinAnsiEncoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.
Reimplemented in PoDoFo::PdfIso88592Encoding, and PoDoFo::PdfWin1250Encoding.

10.128 PoDoFo::PdfWriter Class Reference

#include <PdfWriter.h>
Inheritance diagram for PoDoFo::PdfWriter:

PoDoFo::PdfWriter

PoDoFo::PdfImmediateWriter

Public Member Functions

• PdfWriter (PdfParser ∗pParser)


• PdfWriter (PdfVecObjects ∗pVecObjects, const PdfObject ∗pTrailer)
• void Write (const char ∗pszFilename)
• void Write (PdfOutputDevice ∗pDevice)
• void SetWriteMode (EPdfWriteMode eWriteMode)
• EPdfWriteMode GetWriteMode () const
• void SetPdfVersion (EPdfVersion eVersion)
• EPdfVersion GetPdfVersion () const
• void SetLinearized (bool bLinearize)
• bool GetLinearized () const
• void SetUseXRefStream (bool bStream)
• bool GetUseXRefStream () const
• const char ∗ GetPdfVersionString () const
• void SetEncrypted (const PdfEncrypt &rEncrypt)
• bool GetEncrypted () const
• void GetByteOffset (PdfObject ∗pObject, pdf_long ∗pulOffset)
• void WriteToBuffer (char ∗∗ppBuffer, pdf_long ∗pulLen)
• void FillTrailerObject (PdfObject ∗pTrailer, pdf_long lSize, bool bPrevEntry, bool bOnlySizeKey) const

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


460 Class Documentation

Protected Member Functions

• PdfWriter (PdfVecObjects ∗pVecObjects)


• void PODOFO_LOCAL WritePdfHeader (PdfOutputDevice ∗pDevice)
• void WritePdfObjects (PdfOutputDevice ∗pDevice, const PdfVecObjects &vecObjects, PdfXRef ∗pXref) P←-
ODOFO_LOCAL
• void CreateFileIdentifier (PdfString &identifier, const PdfObject ∗pTrailer) const PODOFO_LOCAL
• void PODOFO_LOCAL WriteLinearized (PdfOutputDevice ∗pDevice)
• PdfObject ∗ CreateLinearizationDictionary () PODOFO_LOCAL

Protected Attributes

• PdfVecObjects ∗ m_vecObjects
• PdfEncrypt ∗ m_pEncrypt
If not NULL encrypt all strings and streams and create an encryption dictionary in the trailer.
• PdfObject ∗ m_pEncryptObj
Used to temporarly store the encryption dictionary.

10.128.1 Detailed Description

The PdfWriter class writes a list of PdfObjects as PDF file. The XRef section (which is the required table of contents
for any PDF file) is created automatically.
It does not know about pages but only about PdfObjects.
Most users will want to use PdfDocument.

10.128.2 Constructor & Destructor Documentation

10.128.2.1 PoDoFo::PdfWriter::PdfWriter ( PdfParser ∗ pParser )

Create a PdfWriter object from a PdfParser object


Parameters
pParser a pdf parser object

10.128.2.2 PoDoFo::PdfWriter::PdfWriter ( PdfVecObjects ∗ pVecObjects, const PdfObject ∗ pTrailer )

Create a new pdf file, from an vector of PdfObjects and a trailer object.
Parameters
pVecObjects the vector of objects
pTrailer a valid trailer object

10.128.2.3 PoDoFo::PdfWriter::PdfWriter ( PdfVecObjects ∗ pVecObjects ) [protected]

Create a PdfWriter from a PdfVecObjects

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.128 PoDoFo::PdfWriter Class Reference 461

10.128.3 Member Function Documentation

10.128.3.1 void PoDoFo::PdfWriter::CreateFileIdentifier ( PdfString & identifier, const PdfObject ∗ pTrailer ) const
[protected]

Creates a file identifier which is required in several PDF workflows. All values from the files document information
dictionary are used to create a unique MD5 key which is added to the trailer dictionary.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


462 Class Documentation

Parameters
identifier write the identifier to this string
pTrailer trailer object

10.128.3.2 PdfObject∗ PoDoFo::PdfWriter::CreateLinearizationDictionary ( ) [protected]

Create a linearization dictionary for the current document and return a pointer to it after inserting it into the vector of
PdfObjects

Returns

a pointer to the linearization dictionary

10.128.3.3 void PoDoFo::PdfWriter::FillTrailerObject ( PdfObject ∗ pTrailer, pdf_long lSize, bool bPrevEntry, bool
bOnlySizeKey ) const

Add required keys to a trailer object


Parameters
pTrailer add keys to this object
lSize number of objects in the PDF file
bPrevEntry if true a prev entry is added to the trailer object with a value of 0
bOnlySizeKey write only the size key

10.128.3.4 void PoDoFo::PdfWriter::GetByteOffset ( PdfObject ∗ pObject, pdf_long ∗ pulOffset )

Calculate the byte offset of the object pObject in the PDF file if the file was written to disk at the moment of calling
this function.
This function is very calculation intensive!
Parameters
pObject object to calculate the byte offset (has to be a child of this PdfWriter)
pulOffset pointer to an unsigned long to save the offset

10.128.3.5 bool PoDoFo::PdfWriter::GetEncrypted ( ) const [inline]

Returns

true if this PdfWriter creates an encrypted PDF file

10.128.3.6 bool PoDoFo::PdfWriter::GetLinearized ( ) const [inline]

Returns

true if this PDF file is web optimized.

10.128.3.7 EPdfVersion PoDoFo::PdfWriter::GetPdfVersion ( ) const [inline]

Get the PDF version of the document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.128 PoDoFo::PdfWriter Class Reference 463

Returns

EPdfVersion version of the pdf document

10.128.3.8 const char∗ PoDoFo::PdfWriter::GetPdfVersionString ( ) const [inline]

Get the file format version of the pdf

Returns

the file format version as string

10.128.3.9 bool PoDoFo::PdfWriter::GetUseXRefStream ( ) const [inline]

Returns

wether a XRef stream is used or not

10.128.3.10 EPdfWriteMode PoDoFo::PdfWriter::GetWriteMode ( ) const [inline]

Get the write mode used for wirting the PDF

Returns

the write mode

10.128.3.11 void PoDoFo::PdfWriter::SetEncrypted ( const PdfEncrypt & rEncrypt )

Set the written document to be encrypted using a PdfEncrypt object


Parameters
rEncrypt an encryption object which is used to encrypt the written PDF file

10.128.3.12 void PoDoFo::PdfWriter::SetLinearized ( bool bLinearize ) [inline]

Enabled linearization for this document. I.e. optimize it for web usage. Default is false.
Parameters
bLinearize if true create a web optimized PDF file

10.128.3.13 void PoDoFo::PdfWriter::SetPdfVersion ( EPdfVersion eVersion ) [inline]

Set the PDF Version of the document. Has to be called before Write() to have an effect.
Parameters
eVersion version of the pdf document

10.128.3.14 void PoDoFo::PdfWriter::SetUseXRefStream ( bool bStream ) [inline]

Create a XRef stream which is in some case more compact but requires at least PDF 1.5 Default is false.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


464 Class Documentation

Parameters
bStream if true a XRef stream object will be created

10.128.3.15 void PoDoFo::PdfWriter::SetWriteMode ( EPdfWriteMode eWriteMode ) [inline]

Set the write mode to use when writing the PDF.


Parameters
eWriteMode write mode

10.128.3.16 void PoDoFo::PdfWriter::Write ( const char ∗ pszFilename )

Writes the complete document to a PDF file.


Parameters
pszFilename filename of a PDF file.

10.128.3.17 void PoDoFo::PdfWriter::Write ( PdfOutputDevice ∗ pDevice )

Writes the complete document to a PdfOutputDevice


Parameters
pDevice write to the specified device

10.128.3.18 void PoDoFo::PdfWriter::WriteLinearized ( PdfOutputDevice ∗ pDevice ) [protected]

Writes a linearized PDF file


Parameters
pDevice write to this output device

10.128.3.19 void PoDoFo::PdfWriter::WritePdfHeader ( PdfOutputDevice ∗ pDevice ) [protected]

Writes the pdf header to the current file.


Parameters
pDevice write to this output device

10.128.3.20 void PoDoFo::PdfWriter::WritePdfObjects ( PdfOutputDevice ∗ pDevice, const PdfVecObjects & vecObjects,


PdfXRef ∗ pXref ) [protected]

Write pdf objects to file


Parameters

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.129 PoDoFo::PdfXObject Class Reference 465

pDevice write to this output device


vecObjects write all objects in this vector to the file
pXref add all written objects to this XRefTable

10.128.3.21 void PoDoFo::PdfWriter::WriteToBuffer ( char ∗∗ ppBuffer, pdf_long ∗ pulLen )

Write the whole document to a buffer in memory.


Better use a PdfOutputDevice that writes to a PdfRefCountedBuffer.
Parameters
ppBuffer where this points the address of the buffer will be written after that being malloc()'d and the
document will be written to that buffer.
pulLen the buffer length will be returned in this parameter

See also

Write

10.128.4 Member Data Documentation

10.128.4.1 PdfVecObjects∗ PoDoFo::PdfWriter::m_vecObjects [protected]

Reorder and renumber all object as required for linearized PDF files. This function is very slow.
Parameters
pLinearize linearization dictionary
pHint primary hint stream dictionary
pPage first page to display in the document
ppLast the pointer will be initialized to the last object belonging to the first pageInitialize m_pPages←-
Tree with its correct value Always call this function befre accessing the pages tree.Find de-
pendencies required for creating a linearized PDF of the catalog dictionary.Fill all keys in the
linearization dictionary with their values
pLinearize a linearization dictionary
pHint the hint stream
pPage the first page in the linerarized PDF file
pLast pointer of the last object belonging to the first page
pVecXRefOffset xref table entries for previous entry

10.129 PoDoFo::PdfXObject Class Reference

#include <PdfXObject.h>
Inheritance diagram for PoDoFo::PdfXObject:

PoDoFo::PdfElement PoDoFo::PdfCanvas

PoDoFo::PdfXObject

PoDoFo::PdfImage

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


466 Class Documentation

Public Member Functions

• PdfXObject (const PdfRect &rRect, PdfDocument ∗pParent, const char ∗pszPrefix=NULL, bool bWithout←-
ObjNum=false)
• PdfXObject (const PdfRect &rRect, PdfVecObjects ∗pParent, const char ∗pszPrefix=NULL)
• PdfXObject (const PdfMemDocument &rSourceDoc, int nPage, PdfDocument ∗pParent, const char ∗psz←-
Prefix=NULL, bool bUseTrimBox=false)
• PdfXObject (PdfDocument ∗pDoc, int nPage, const char ∗pszPrefix=NULL, bool bUseTrimBox=false)
• PdfXObject (PdfObject ∗pObject)
• virtual PdfObject ∗ GetContents () const
• virtual PdfObject ∗ GetContentsForAppending () const
• virtual PdfObject ∗ GetResources () const
• virtual const PdfRect GetPageSize () const
• const PdfName & GetIdentifier () const
• const PdfReference & GetObjectReference () const

Additional Inherited Members

10.129.1 Detailed Description

A XObject is a content stream with several drawing commands and data which can be used throughout a PDF
document.
You can draw on a XObject like you would draw onto a page and can draw this XObject later again using a Pdf←-
Painter.

See also

PdfPainter

10.129.2 Constructor & Destructor Documentation

10.129.2.1 PoDoFo::PdfXObject::PdfXObject ( const PdfRect & rRect, PdfDocument ∗ pParent, const char ∗ pszPrefix =
NULL, bool bWithoutObjNum = false )

Create a new XObject with a specified dimension in a given document


Parameters
rRect the size of the XObject
pParent the parent document of the XObject
pszPrefix optional prefix for XObject-name
bWithoutObj←- do not create an object identifier name
Num

10.129.2.2 PoDoFo::PdfXObject::PdfXObject ( const PdfRect & rRect, PdfVecObjects ∗ pParent, const char ∗ pszPrefix =
NULL )

Create a new XObject with a specified dimension in a given vector of PdfObjects


Parameters
rRect the size of the XObject
pParent the parent vector of the XObject
pszPrefix optional prefix for XObject-name

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.129 PoDoFo::PdfXObject Class Reference 467

10.129.2.3 PoDoFo::PdfXObject::PdfXObject ( const PdfMemDocument & rSourceDoc, int nPage, PdfDocument ∗


pParent, const char ∗ pszPrefix = NULL, bool bUseTrimBox = false )

Create a new XObject from a page of another document in a given document

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


468 Class Documentation

Parameters
rSourceDoc the document to create the XObject from
nPage the page-number in rDoc to create the XObject from
pParent the parent document of the XObject
pszPrefix optional prefix for XObject-name
bUseTrimBox if true try to use trimbox for size of xobject

10.129.2.4 PoDoFo::PdfXObject::PdfXObject ( PdfDocument ∗ pDoc, int nPage, const char ∗ pszPrefix = NULL, bool
bUseTrimBox = false )

Create a new XObject from an existing page


Parameters
pDoc the document to create the XObject at
nPage the page-number in pDoc to create the XObject from
pszPrefix optional prefix for XObject-name
bUseTrimBox if true try to use trimbox for size of xobject

10.129.2.5 PoDoFo::PdfXObject::PdfXObject ( PdfObject ∗ pObject )

Create a XObject from an existing PdfObject


Parameters
pObject an existing object which has to be a XObject

10.129.3 Member Function Documentation

10.129.3.1 PdfObject ∗ PoDoFo::PdfXObject::GetContents ( ) const [inline], [virtual]

Get access to the contents object of this page. If you want to draw onto the page, you have to add drawing
commands to the stream of the Contents object.
The contents object is a this pointer in this case.

Returns

a contents object

Implements PoDoFo::PdfCanvas.

10.129.3.2 virtual PdfObject∗ PoDoFo::PdfXObject::GetContentsForAppending ( ) const [inline], [virtual]

Get access to the contents object of this page. If you want to draw onto the page, you have to add drawing
commands to the stream of the Contents object.
The contents object is a this pointer in this case.

Returns

a contents object

Implements PoDoFo::PdfCanvas.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.130 PoDoFo::PdfXRef Class Reference 469

10.129.3.3 const PdfName & PoDoFo::PdfXObject::GetIdentifier ( ) const [inline]

Get the identifier used for drawig this object

Returns

identifier

10.129.3.4 const PdfReference & PoDoFo::PdfXObject::GetObjectReference ( ) const [inline]

Get the reference to the XObject in the PDF file without having to access the PdfObject.
This allows to work with XObjects which have been written to disk already.

Returns

the reference of the PdfObject for this XObject

10.129.3.5 const PdfRect PoDoFo::PdfXObject::GetPageSize ( ) const [inline], [virtual]

Get the current page size in PDF Units

Returns

a PdfRect containing the page size available for drawing

Implements PoDoFo::PdfCanvas.

10.129.3.6 PdfObject ∗ PoDoFo::PdfXObject::GetResources ( ) const [inline], [virtual]

Get access to the resources object of this page. This is most likely an internal object.

Returns

a resources object

Implements PoDoFo::PdfCanvas.

10.130 PoDoFo::PdfXRef Class Reference

#include <PdfXRef.h>
Inheritance diagram for PoDoFo::PdfXRef:

PoDoFo::PdfXRef

PoDoFo::PdfXRefStream

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


470 Class Documentation

Public Member Functions

• PdfXRef ()
• virtual ∼PdfXRef ()
• void AddObject (const PdfReference &rRef, pdf_uint64 offset, bool bUsed)
• void Write (PdfOutputDevice ∗pDevice)
• pdf_uint32 GetSize () const
• virtual pdf_uint64 GetOffset () const
• void SetFirstEmptyBlock ()

Protected Member Functions

• virtual void BeginWrite (PdfOutputDevice ∗pDevice)


• virtual void WriteSubSection (PdfOutputDevice ∗pDevice, pdf_objnum nFirst, pdf_uint32 nCount)
• virtual void WriteXRefEntry (PdfOutputDevice ∗pDevice, pdf_uint64 offset, pdf_gennum generation, char c←-
Mode, pdf_objnum objectNumber=0)
• virtual void EndWrite (PdfOutputDevice ∗pDevice)

10.130.1 Detailed Description

Creates an XRef table.


This is an internal class of PoDoFo used by PdfWriter.

10.130.2 Constructor & Destructor Documentation

10.130.2.1 PoDoFo::PdfXRef::PdfXRef ( )

Create a new XRef table

10.130.2.2 PoDoFo::PdfXRef::∼PdfXRef ( ) [virtual]

Destruct the XRef table

10.130.3 Member Function Documentation

10.130.3.1 void PoDoFo::PdfXRef::AddObject ( const PdfReference & rRef, pdf_uint64 offset, bool bUsed )

Add an object to the XRef table. The object should have been written to an output device already.
Parameters
rRef reference of this object
offset the offset where on the device the object was written
bUsed specifies wether this is an used or free object. Set this value to true for all normal objects and
to false for free object references.

10.130.3.2 void PoDoFo::PdfXRef::BeginWrite ( PdfOutputDevice ∗ pDevice ) [protected], [virtual]

Called at the start of writing the XRef table. This method can be overwritten in subclasses to write a general header
for the XRef table.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.130 PoDoFo::PdfXRef Class Reference 471

Parameters
pDevice the output device to which the XRef table should be written.

Reimplemented in PoDoFo::PdfXRefStream.

10.130.3.3 void PoDoFo::PdfXRef::EndWrite ( PdfOutputDevice ∗ pDevice ) [protected], [virtual]

Called at the end of writing the XRef table. Sub classes can overload this method to finish a XRef table.
Parameters
pDevice the output device to which the XRef table should be written.

Reimplemented in PoDoFo::PdfXRefStream.

10.130.3.4 pdf_uint64 PoDoFo::PdfXRef::GetOffset ( ) const [inline], [virtual]

Returns

the offset in the file at which the XRef table starts after it was written

Reimplemented in PoDoFo::PdfXRefStream.

10.130.3.5 pdf_uint32 PoDoFo::PdfXRef::GetSize ( ) const

Get the size of the XRef table. I.e. the highest object number + 1.

Returns

the size of the xref table

10.130.3.6 void PoDoFo::PdfXRef::SetFirstEmptyBlock ( )

Mark as empty block.

10.130.3.7 void PoDoFo::PdfXRef::Write ( PdfOutputDevice ∗ pDevice )

Write the XRef table to an output device.


Parameters
pDevice an output device (usually a PDF file)

10.130.3.8 void PoDoFo::PdfXRef::WriteSubSection ( PdfOutputDevice ∗ pDevice, pdf_objnum nFirst, pdf_uint32 nCount )


[protected], [virtual]

Begin an XRef subsection. All following calls of WriteXRefEntry belong to this XRef subsection.
Parameters
pDevice the output device to which the XRef table should be written.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


472 Class Documentation

nFirst the object number of the first object in this subsection


nCount the number of entries in this subsection

Reimplemented in PoDoFo::PdfXRefStream.

10.130.3.9 void PoDoFo::PdfXRef::WriteXRefEntry ( PdfOutputDevice ∗ pDevice, pdf_uint64 offset, pdf_gennum


generation, char cMode, pdf_objnum objectNumber = 0 ) [protected], [virtual]

Write a single entry to the XRef table


Parameters
pDevice the output device to which the XRef table should be written.
offset the offset of the object
generation the generation number
cMode the mode 'n' for object and 'f' for free objects
objectNumber the object number of the currently written object if cMode = 'n' otherwise undefined

Reimplemented in PoDoFo::PdfXRefStream.

10.131 PoDoFo::PdfXRefStream Class Reference

#include <PdfXRefStream.h>
Inheritance diagram for PoDoFo::PdfXRefStream:

PoDoFo::PdfXRef

PoDoFo::PdfXRefStream

Public Member Functions

• PdfXRefStream (PdfVecObjects ∗pParent, PdfWriter ∗pWriter)


• virtual ∼PdfXRefStream ()
• virtual pdf_uint64 GetOffset () const

Protected Member Functions

• virtual void BeginWrite (PdfOutputDevice ∗pDevice)


• virtual void WriteSubSection (PdfOutputDevice ∗pDevice, pdf_objnum nFirst, pdf_uint32 nCount)
• virtual void WriteXRefEntry (PdfOutputDevice ∗pDevice, pdf_uint64 offset, pdf_gennum generation, char c←-
Mode, pdf_objnum objectNumber=0)
• virtual void EndWrite (PdfOutputDevice ∗pDevice)

10.131.1 Detailed Description

Creates an XRef table that is a stream object. Requires at least PDF 1.5. XRef streams are more compact than
normal XRef tables.
This is an internal class of PoDoFo used by PdfWriter.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.131 PoDoFo::PdfXRefStream Class Reference 473

10.131.2 Constructor & Destructor Documentation

10.131.2.1 PoDoFo::PdfXRefStream::PdfXRefStream ( PdfVecObjects ∗ pParent, PdfWriter ∗ pWriter )

Create a new XRef table

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


474 Class Documentation

Parameters
pParent a vector of PdfObject is required to create a PdfObject for the XRef
pWriter is needed to fill the trailer directory correctly which is included into the XRef

10.131.2.2 PoDoFo::PdfXRefStream::∼PdfXRefStream ( ) [virtual]

Destruct the XRef table

10.131.3 Member Function Documentation

10.131.3.1 void PoDoFo::PdfXRefStream::BeginWrite ( PdfOutputDevice ∗ pDevice ) [protected], [virtual]

Called at the start of writing the XRef table. This method can be overwritten in subclasses to write a general header
for the XRef table.
Parameters
pDevice the output device to which the XRef table should be written.

Reimplemented from PoDoFo::PdfXRef.

10.131.3.2 void PoDoFo::PdfXRefStream::EndWrite ( PdfOutputDevice ∗ pDevice ) [protected], [virtual]

Called at the end of writing the XRef table. Sub classes can overload this method to finish a XRef table.
Parameters
pDevice the output device to which the XRef table should be written.

Reimplemented from PoDoFo::PdfXRef.

10.131.3.3 pdf_uint64 PoDoFo::PdfXRefStream::GetOffset ( ) const [inline], [virtual]

Returns

the offset in the file at which the XRef table starts after it was written

Reimplemented from PoDoFo::PdfXRef.

10.131.3.4 void PoDoFo::PdfXRefStream::WriteSubSection ( PdfOutputDevice ∗ pDevice, pdf_objnum nFirst, pdf_uint32


nCount ) [protected], [virtual]

Begin an XRef subsection. All following calls of WriteXRefEntry belong to this XRef subsection.
Parameters
pDevice the output device to which the XRef table should be written.
nFirst the object number of the first object in this subsection
nCount the number of entries in this subsection

Reimplemented from PoDoFo::PdfXRef.

10.131.3.5 void PoDoFo::PdfXRefStream::WriteXRefEntry ( PdfOutputDevice ∗ pDevice, pdf_uint64 offset, pdf_gennum


generation, char cMode, pdf_objnum objectNumber = 0 ) [protected], [virtual]

Write a single entry to the XRef table

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.132 PoDoFo::PdfXRefStreamParserObject Class Reference 475

Parameters
pDevice the output device to which the XRef table should be written.
offset the offset of the object
generation the generation number
cMode the mode 'n' for object and 'f' for free objects
objectNumber the object number of the currently written object if cMode = 'n' otherwise undefined

Reimplemented from PoDoFo::PdfXRef.

10.132 PoDoFo::PdfXRefStreamParserObject Class Reference

#include <PdfXRefStreamParserObject.h>
Inheritance diagram for PoDoFo::PdfXRefStreamParserObject:

PoDoFo::PdfVariant

PoDoFo::PdfObject PoDoFo::PdfTokenizer

PoDoFo::PdfParserObject

PoDoFo::PdfXRefStreamParserObject

Public Member Functions

• PdfXRefStreamParserObject (PdfVecObjects ∗pCreator, const PdfRefCountedInputDevice &rDevice, const


PdfRefCountedBuffer &rBuffer, PdfParser::TVecOffsets ∗pOffsets)
• bool HasPrevious ()
• pdf_long GetPreviousOffset ()

Additional Inherited Members

10.132.1 Detailed Description

A utility class for PdfParser that can parse an XRef stream object.
It is mainly here to make PdfParser more modular.

10.132.2 Constructor & Destructor Documentation

10.132.2.1 PoDoFo::PdfXRefStreamParserObject::PdfXRefStreamParserObject ( PdfVecObjects ∗ pCreator, const


PdfRefCountedInputDevice & rDevice, const PdfRefCountedBuffer & rBuffer, PdfParser::TVecOffsets ∗
pOffsets )

Parse the object data from the given file handle starting at the current position.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


476 Class Documentation

Parameters
pCreator pointer to a PdfVecObjects to resolve object references
rDevice an open reference counted input device which is positioned in front of the object which is
going to be parsed.
rBuffer buffer to use for parsing to avoid reallocations
pOffsets XRef entries are stored into this array

10.132.3 Member Function Documentation

10.132.3.1 pdf_long PoDoFo::PdfXRefStreamParserObject::GetPreviousOffset ( ) [inline]

Returns

the offset of the previous XRef table

10.132.3.2 bool PoDoFo::PdfXRefStreamParserObject::HasPrevious ( ) [inline]

Returns

true if there is a previous XRefStream

10.133 PoDoFo::PdfZapfDingbatsEncoding Class Reference

#include <PdfEncoding.h>
Inheritance diagram for PoDoFo::PdfZapfDingbatsEncoding:

PoDoFo::PdfEncoding

PoDoFo::PdfSimpleEncoding

PoDoFo::PdfZapfDingbatsEncoding

Public Member Functions

• PdfZapfDingbatsEncoding ()

Protected Member Functions

• virtual const pdf_utf16be ∗ GetToUnicodeTable () const

Additional Inherited Members

10.133.1 Detailed Description

Do not allocate this class yourself, as allocations might be expensive. Try using PdfFont::ZapfDingbats.

See also

PdfFont::ZapfDingbatsEncoding

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


10.134 PoDoFo::PdfVecObjects::StreamFactory Class Reference 477

10.133.2 Constructor & Destructor Documentation

10.133.2.1 PoDoFo::PdfZapfDingbatsEncoding::PdfZapfDingbatsEncoding ( ) [inline]

Create a new PdfZapfDingbatsEncoding

10.133.3 Member Function Documentation

10.133.3.1 const pdf_utf16be ∗ PoDoFo::PdfZapfDingbatsEncoding::GetToUnicodeTable ( ) const [protected],


[virtual]

Gets a table of 256 short values which are the big endian unicode code points that are assigned to the 256 values
of this encoding.
This table is used internally to convert an encoded string of this encoding to and from unicode.

Returns

an array of 256 big endian unicode code points

Implements PoDoFo::PdfSimpleEncoding.

10.134 PoDoFo::PdfVecObjects::StreamFactory Class Reference

#include <PdfVecObjects.h>
Inheritance diagram for PoDoFo::PdfVecObjects::StreamFactory:

PoDoFo::PdfVecObjects::StreamFactory

PoDoFo::PdfImmediateWriter

Public Member Functions

• virtual PdfStream ∗ CreateStream (PdfObject ∗pParent)=0

10.134.1 Detailed Description

This class is used to implement stream factories in PoDoFo.

10.134.2 Member Function Documentation

10.134.2.1 virtual PdfStream∗ PoDoFo::PdfVecObjects::StreamFactory::CreateStream ( PdfObject ∗ pParent ) [pure


virtual]

Creates a stream object

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


478 Class Documentation

Parameters
pParent parent object

Returns

a new stream object

10.135 PoDoFo::TFontCacheElement Struct Reference

#include <PdfFontCache.h>

Public Attributes

• PdfString m_sFontName
We use PdfString here as it can easily handle unicode on windows.

10.135.1 Detailed Description

A private structure, which represents a font in the cache.

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Chapter 11

File Documentation

11.1 PdfDefines.h File Reference

#include "PdfCompilerCompat.h"
#include <wchar.h>
#include <map>
#include <string>
#include <vector>
#include <set>
#include "PdfError.h"
#include "PdfMemoryManagement.h"
#include "podofoapi.h"

Namespaces

• PoDoFo

Macros

• #define PODOFO_MAKE_VERSION_REAL(M, m, p) ( (M<<16)+(m<<8)+(p) )


• #define PODOFO_MAKE_VERSION_STR_REAL(M, m, p) M ## . ## m ## . ## p
• #define ePdfRenderingIntent_AbsoluteColorimetric "AbsoluteColorimetric"
• #define ePdfBlendMode_Normal "Normal"

Enumerations

• enum PoDoFo::EPdfVersion {
PoDoFo::ePdfVersion_1_0 = 0, PoDoFo::ePdfVersion_1_1, PoDoFo::ePdfVersion_1_2, PoDoFo::ePdf←-
Version_1_3,
PoDoFo::ePdfVersion_1_4, PoDoFo::ePdfVersion_1_5, PoDoFo::ePdfVersion_1_6, PoDoFo::ePdfVersion←-
_1_7 }
• enum PoDoFo::EPdfWriteMode { PoDoFo::ePdfWriteMode_Compact = 0x01, PoDoFo::ePdfWriteMode_←-
Clean = 0x02 }
• enum PoDoFo::EPdfDataType {
PoDoFo::ePdfDataType_Bool, PoDoFo::ePdfDataType_Number, PoDoFo::ePdfDataType_Real, PoDoFo::e←-
PdfDataType_String,
PoDoFo::ePdfDataType_HexString, PoDoFo::ePdfDataType_Name, PoDoFo::ePdfDataType_Array, PoDo←-
480 File Documentation

Fo::ePdfDataType_Dictionary,
PoDoFo::ePdfDataType_Null, PoDoFo::ePdfDataType_Reference, PoDoFo::ePdfDataType_RawData, Po←-
DoFo::ePdfDataType_Unknown }
• enum PoDoFo::EPdfFilter { PoDoFo::ePdfFilter_ASCIIHexDecode, PoDoFo::ePdfFilter_ASCII85Decode ,
PoDoFo::ePdfFilter_FlateDecode, PoDoFo::ePdfFilter_RunLengthDecode }
• enum PoDoFo::EPdfFontType
• enum PoDoFo::EPdfColorSpace {
PoDoFo::ePdfColorSpace_DeviceGray, PoDoFo::ePdfColorSpace_DeviceRGB, PoDoFo::ePdfColorSpace←-
_DeviceCMYK, PoDoFo::ePdfColorSpace_Separation,
PoDoFo::ePdfColorSpace_CieLab, PoDoFo::ePdfColorSpace_Indexed }
• enum PoDoFo::EPdfTextRenderingMode {
PoDoFo::ePdfTextRenderingMode_Fill = 0, PoDoFo::ePdfTextRenderingMode_Stroke, PoDoFo::ePdfText←-
RenderingMode_FillAndStroke, PoDoFo::ePdfTextRenderingMode_Invisible,
PoDoFo::ePdfTextRenderingMode_FillToClipPath, PoDoFo::ePdfTextRenderingMode_StrokeToClipPath,
PoDoFo::ePdfTextRenderingMode_FillAndStrokeToClipPath, PoDoFo::ePdfTextRenderingMode_ToClipPath
}
• enum PoDoFo::EPdfStrokeStyle
• enum PoDoFo::EPdfTilingPatternType
• enum PoDoFo::EPdfLineCapStyle
• enum PoDoFo::EPdfLineJoinStyle
• enum PoDoFo::EPdfVerticalAlignment
• enum PoDoFo::EPdfAlignment
• enum PoDoFo::EPdfPageSize {
PoDoFo::ePdfPageSize_A0, PoDoFo::ePdfPageSize_A1, PoDoFo::ePdfPageSize_A2, PoDoFo::ePdfPage←-
Size_A3,
PoDoFo::ePdfPageSize_A4, PoDoFo::ePdfPageSize_A5, PoDoFo::ePdfPageSize_A6, PoDoFo::ePdfPage←-
Size_Letter,
PoDoFo::ePdfPageSize_Legal, PoDoFo::ePdfPageSize_Tabloid }
• enum PoDoFo::EPdfPageMode
• enum PoDoFo::EPdfPageLayout

Functions

• template<typename T >
const T PoDoFo::PDF_MAX (const T a, const T b)
• template<typename T >
const T PoDoFo::PDF_MIN (const T a, const T b)

Variables

• const EPdfVersion PoDoFo::ePdfVersion_Default = ePdfVersion_1_3


• const int PoDoFo::s_nNumWhiteSpaces = 6
PDF Reference, Section 3.1.1, Table 3.1, White-space characters.

11.1.1 Detailed Description

This file should be included as the FIRST file in every header of PoDoFo lib. It includes all standard files, defines
some useful macros, some datatypes and all important enumeration types. On supporting platforms it will be
precompiled to speed compilation.

11.1.2 Macro Definition Documentation

11.1.2.1 #define ePdfBlendMode_Normal "Normal"

List of defined transparency blending modes

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


11.2 PdfError.h File Reference 481

11.1.2.2 #define ePdfRenderingIntent_AbsoluteColorimetric "AbsoluteColorimetric"

List of defined Rendering intents

11.1.2.3 #define PODOFO_MAKE_VERSION_REAL( M, m, p ) ( (M<<16)+(m<<8)+(p) )

PoDoFo version - 24-bit integer representation. Version is 0xMMmmpp where M is major, m is minor and p is patch
eg 0.7.0 is represented as 0x000700 eg 0.7.99 is represented as 0x000763
Note that the PoDoFo version is available in parts as individual 8-bit integer literals in PODOFO_VERSION_MAJOR,
PODOFO_VERSION_MINOR and PODOFO_VERSION_PATCH .

11.1.2.4 #define PODOFO_MAKE_VERSION_STR_REAL( M, m, p ) M ## . ## m ## . ## p

PoDoFo version represented as a string literal, eg '0.7.99'

11.2 PdfError.h File Reference

#include "podofoapi.h"
#include <string>
#include <queue>
#include <cstdarg>

Classes

• class PoDoFo::PdfError

Namespaces

• PoDoFo

Macros

• #define PODOFO_RAISE_ERROR(x) throw ::PoDoFo::PdfError( x, __FILE__, __LINE__ );


• #define PODOFO_RAISE_ERROR_INFO(x, y) throw ::PoDoFo::PdfError( x, __FILE__, __LINE__, y );
• #define PODOFO_RAISE_LOGIC_IF(x, y) { if (x) throw ::PoDoFo::PdfError( ePdfError_InternalLogic, __FI←-
LE__, __LINE__, y ); };

Enumerations

• enum PoDoFo::EPdfError {
PoDoFo::ePdfError_ErrOk = 0, PoDoFo::ePdfError_TestFailed, PoDoFo::ePdfError_InvalidHandle, PoDo←-
Fo::ePdfError_FileNotFound,
PoDoFo::ePdfError_InvalidDeviceOperation, PoDoFo::ePdfError_UnexpectedEOF, PoDoFo::ePdfError_←-
OutOfMemory, PoDoFo::ePdfError_ValueOutOfRange,
PoDoFo::ePdfError_InternalLogic, PoDoFo::ePdfError_InvalidEnumValue, PoDoFo::ePdfError_PageNot←-
Found, PoDoFo::ePdfError_NoPdfFile,
PoDoFo::ePdfError_NoXRef, PoDoFo::ePdfError_NoTrailer, PoDoFo::ePdfError_NoNumber, PoDoFo::e←-
PdfError_NoObject,
PoDoFo::ePdfError_NoEOFToken, PoDoFo::ePdfError_InvalidTrailerSize, PoDoFo::ePdfError_Invalid←-

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


482 File Documentation

Linearization, PoDoFo::ePdfError_InvalidDataType,
PoDoFo::ePdfError_InvalidXRef, PoDoFo::ePdfError_InvalidXRefStream, PoDoFo::ePdfError_InvalidXRef←-
Type, PoDoFo::ePdfError_InvalidPredictor,
PoDoFo::ePdfError_InvalidStrokeStyle, PoDoFo::ePdfError_InvalidHexString, PoDoFo::ePdfError_Invalid←-
Stream, PoDoFo::ePdfError_InvalidStreamLength,
PoDoFo::ePdfError_InvalidKey, PoDoFo::ePdfError_InvalidName, PoDoFo::ePdfError_InvalidEncryptionDict,
PoDoFo::ePdfError_InvalidPassword,
PoDoFo::ePdfError_InvalidFontFile, PoDoFo::ePdfError_InvalidContentStream, PoDoFo::ePdfError_←-
UnsupportedFilter, PoDoFo::ePdfError_UnsupportedFontFormat,
PoDoFo::ePdfError_ActionAlreadyPresent, PoDoFo::ePdfError_WrongDestinationType, PoDoFo::ePdf←-
Error_MissingEndStream, PoDoFo::ePdfError_Date,
PoDoFo::ePdfError_Flate, PoDoFo::ePdfError_FreeType, PoDoFo::ePdfError_SignatureError, PoDoFo::e←-
PdfError_MutexError,
PoDoFo::ePdfError_UnsupportedImageFormat, PoDoFo::ePdfError_CannotConvertColor, PoDoFo::ePdf←-
Error_NotImplemented, PoDoFo::ePdfError_DestinationAlreadyPresent,
PoDoFo::ePdfError_ChangeOnImmutable, PoDoFo::ePdfError_NotCompiled, PoDoFo::ePdfError_Unknown
= 0xffff }
• enum PoDoFo::ELogSeverity {
PoDoFo::eLogSeverity_Critical, PoDoFo::eLogSeverity_Error, PoDoFo::eLogSeverity_Warning, PoDoFo::e←-
LogSeverity_Information,
PoDoFo::eLogSeverity_Debug, PoDoFo::eLogSeverity_None, PoDoFo::eLogSeverity_Unknown = 0xffff }

11.2.1 Detailed Description

Error information and logging is implemented in this file.

11.2.2 Macro Definition Documentation

11.2.2.1 #define PODOFO_RAISE_ERROR( x ) throw ::PoDoFo::PdfError( x, __FILE__, __LINE__ );

Set the value of the variable eCode (which has to exist in the current function) to x and return the eCode.

11.2.2.2 #define PODOFO_RAISE_ERROR_INFO( x, y ) throw ::PoDoFo::PdfError( x, __FILE__, __LINE__, y );

Set the value of the variable eCode (which has to exist in the current function) to x and return the eCode. Additionally
additional information on the error y is set. y has to be an c-string.

11.2.2.3 #define PODOFO_RAISE_LOGIC_IF( x, y ) { if (x) throw ::PoDoFo::PdfError( ePdfError_InternalLogic, __FILE__,


__LINE__, y ); };

Evaluate ‘x' as a binary predicate and if it is true, raise a logic error with the info string ‘y' .
This macro will be undefined when NDEBUG is set, so it's compiled out for release builds. Use it for expensive or
extremely frequent sanity checking.
We define it then UNDEF it to help out doxygen.

11.3 PdfFiltersPrivate.h File Reference

#include "PdfDefines.h"
#include "PdfDefinesPrivate.h"
#include "PdfFilter.h"
#include "PdfRefCountedBuffer.h"
#include <zlib.h>

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


11.3 PdfFiltersPrivate.h File Reference 483

Classes

• class PoDoFo::PdfHexFilter
• class PoDoFo::PdfAscii85Filter
• class PoDoFo::PdfFlateFilter
• class PoDoFo::PdfRLEFilter
• class PoDoFo::PdfLZWFilter

Namespaces

• PoDoFo

11.3.1 Detailed Description

Provides implementations of various PDF stream filters.


This is an internal header. It should not be included in podofo.h, and should not be included directly by client
applications. These filters should only be accessed through the factory interface in PdfFilters.h .

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


484 File Documentation

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


Index

∼PdfCanvas PoDoFo::PdfEncodingDifference, 129


PoDoFo::PdfCanvas, 60 AddFreeObject
∼PdfColor PoDoFo::PdfVecObjects, 444
PoDoFo::PdfColor, 64 AddKey
∼PdfContents PoDoFo::PdfDictionary, 92
PoDoFo::PdfContents, 74 AddNamedDestination
∼PdfDate PoDoFo::PdfDocument, 104
PoDoFo::PdfDate, 83 AddObject
∼PdfDictionary PoDoFo::PdfXRef, 466
PoDoFo::PdfDictionary, 92 AddPageObject
∼PdfDocument PoDoFo::PdfPagesTreeCache, 305
PoDoFo::PdfDocument, 104 AddPageObjects
∼PdfEncrypt PoDoFo::PdfPagesTreeCache, 305
PoDoFo::PdfEncrypt, 136 AddPdfExtension
∼PdfFilter PoDoFo::PdfMemDocument, 243
PoDoFo::PdfFilter, 164 AddResource
∼PdfFontCache PoDoFo::PdfCanvas, 60
PoDoFo::PdfFontCache, 184 AddText
∼PdfInfo PoDoFo::PdfPainter, 309
PoDoFo::PdfInfo, 225 AddToCallstack
∼PdfInputDevice PoDoFo::PdfError, 147
PoDoFo::PdfInputDevice, 229 AddToDictionary
∼PdfMemDocument PoDoFo::PdfAction, 41
PoDoFo::PdfMemDocument, 243
PoDoFo::PdfDestination, 85
∼PdfMutexWrapper
PoDoFo::PdfDifferenceEncoding, 97
PoDoFo::Util::PdfMutexWrapper, 265
PoDoFo::PdfEncoding, 126
∼PdfNamedColor
PoDoFo::PdfIdentityEncoding, 216
PoDoFo::PdfNamedColor, 271
PoDoFo::PdfSimpleEncoding, 374
∼PdfOutputDevice
PoDoFo::PdfWinAnsiEncoding, 455
PoDoFo::PdfOutputDevice, 289
AddToPageResources
∼PdfPagesTree
PoDoFo::PdfPainter, 310
PoDoFo::PdfPagesTree, 301
AddUsedGlyphname
∼PdfPagesTreeCache
PoDoFo::PdfFont, 178
PoDoFo::PdfPagesTreeCache, 305
PoDoFo::PdfFontType1, 208
∼PdfParser
AddUsedSubsettingGlyphs
PoDoFo::PdfParser, 338
PoDoFo::PdfFont, 178
∼PdfRefCountedBuffer
PoDoFo::PdfRefCountedBuffer, 355 PoDoFo::PdfFontCID, 189
∼PdfRefCountedInputDevice PoDoFo::PdfFontType1, 208
PoDoFo::PdfRefCountedInputDevice, 359 AdjustByteRange
∼PdfXRef PoDoFo::PdfSignOutputDevice, 370
PoDoFo::PdfXRef, 466 Append
∼PdfXRefStream PoDoFo::PdfDocument, 104
PoDoFo::PdfXRefStream, 469 PoDoFo::PdfStream, 388, 389
AppendImpl
AddCertificationReference PoDoFo::PdfFileStream, 161
PoDoFo::PdfSignatureField, 368 PoDoFo::PdfMemStream, 258
AddColorResource PoDoFo::PdfStream, 389
PoDoFo::PdfCanvas, 60 ArcTo
AddDifference PoDoFo::PdfPainter, 310
486 INDEX

AssertMutable PoDoFo::PdfTable, 408


PoDoFo::PdfDataType, 80 CanDecode
PoDoFo::PdfVariant, 435 PoDoFo::PdfAscii85Filter, 55
Attach PoDoFo::PdfFilter, 165
PoDoFo::PdfVecObjects, 445 PoDoFo::PdfFlateFilter, 175
AttachFile PoDoFo::PdfHexFilter, 214
PoDoFo::PdfDocument, 104 PoDoFo::PdfLZWFilter, 238
Authenticate PoDoFo::PdfRLEFilter, 363
PoDoFo::PdfEncrypt, 136 CanEncode
PoDoFo::PdfEncryptAESV2, 142 PoDoFo::PdfAscii85Filter, 55
PoDoFo::PdfEncryptRC4, 144 PoDoFo::PdfFilter, 166
AutoDelete PoDoFo::PdfFlateFilter, 175
PoDoFo::PdfVecObjects, 445 PoDoFo::PdfHexFilter, 214
PoDoFo::PdfLZWFilter, 238
back PoDoFo::PdfRLEFilter, 363
PoDoFo::PdfArray, 50, 51 CharWidth
Bad PoDoFo::PdfFontMetrics, 194
PoDoFo::PdfInputDevice, 229 CharWidthMM
begin PoDoFo::PdfFontMetrics, 194
PoDoFo::PdfArray, 51
CheckEOFMarker
PoDoFo::PdfEncoding, 126
PoDoFo::PdfParser, 339
PoDoFo::PdfVecObjects, 445
CheckForNewPage
BeginAppend
PoDoFo::PdfTable, 408
PoDoFo::PdfStream, 389, 390
Circle
BeginAppendImpl
PoDoFo::PdfPainter, 310
PoDoFo::PdfFileStream, 162
Clear
PoDoFo::PdfMemStream, 258
PoDoFo::PdfArray, 51
PoDoFo::PdfStream, 390
PoDoFo::PdfDictionary, 92
BeginAppendStream
PoDoFo::PdfDocument, 106
PoDoFo::PdfVecObjects, 445
PoDoFo::PdfInputDevice, 229
PoDoFo::PdfVecObjects::Observer, 40
PoDoFo::PdfVariant, 435
BeginDecode
PoDoFo::PdfVecObjects, 445
PoDoFo::PdfFilter, 164
ClearCache
BeginDecodeImpl
PoDoFo::PdfPagesTree, 301
PoDoFo::PdfAscii85Filter, 54
PoDoFo::PdfPagesTreeCache, 306
PoDoFo::PdfFilter, 165
Clip
PoDoFo::PdfFlateFilter, 174
PoDoFo::PdfPainter, 312
PoDoFo::PdfHexFilter, 214
Close
PoDoFo::PdfLZWFilter, 238
PoDoFo::PdfBufferOutputStream, 58
PoDoFo::PdfRLEFilter, 363
BeginEncode PoDoFo::PdfDeviceOutputStream, 90
PoDoFo::PdfFilter, 165 PoDoFo::PdfFileOutputStream, 158
BeginEncodeImpl PoDoFo::PdfFilteredDecodeStream, 170
PoDoFo::PdfAscii85Filter, 55 PoDoFo::PdfFilteredEncodeStream, 171
PoDoFo::PdfFilter, 165 PoDoFo::PdfInputDevice, 229
PoDoFo::PdfFlateFilter, 174 PoDoFo::PdfMemoryOutputStream, 256
PoDoFo::PdfLZWFilter, 238 PoDoFo::PdfOutputStream, 291
PoDoFo::PdfRLEFilter, 363 PoDoFo::PdfPainter, 312
BeginText PoDoFo::PdfStreamedDocument, 395
PoDoFo::PdfPainter, 310 ClosePath
BeginWrite PoDoFo::PdfPainter, 312
PoDoFo::PdfXRef, 466 CollectGarbage
PoDoFo::PdfXRefStream, 470 PoDoFo::PdfVecObjects, 445
BuildColorSpace Contains
PoDoFo::PdfColor, 65 PoDoFo::PdfEncodingDifference, 129
BuildFont ContainsString
PoDoFo::PdfFontTTFSubset, 206 PoDoFo::PdfArray, 51
ConvertRectToBezier
CalculateTableSize PoDoFo::PdfPainter, 312

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 487

ConvertToCMYK PoDoFo::PdfElement, 122


PoDoFo::PdfColor, 65 PoDoFo::PdfVecObjects, 447
ConvertToEncoding CreatePage
PoDoFo::PdfDifferenceEncoding, 99 PoDoFo::PdfDocument, 107
PoDoFo::PdfEncoding, 126 PoDoFo::PdfPagesTree, 301
PoDoFo::PdfIdentityEncoding, 216 CreatePageCallback
PoDoFo::PdfSimpleEncoding, 374 PoDoFo::PdfTable, 408
ConvertToGrayScale CreatePages
PoDoFo::PdfColor, 65 PoDoFo::PdfDocument, 109
ConvertToRGB PoDoFo::PdfPagesTree, 303
PoDoFo::PdfColor, 65 CreatePdfEncrypt
ConvertToUnicode PoDoFo::PdfEncrypt, 137
PoDoFo::PdfDifferenceEncoding, 99 CreateRoot
PoDoFo::PdfEncoding, 126 PoDoFo::PdfOutlines, 287
PoDoFo::PdfIdentityEncoding, 217 CreateStandardPageSize
PoDoFo::PdfSimpleEncoding, 375 PoDoFo::PdfPage, 295
Create CreateStream
PoDoFo::PdfFilterFactory, 172 PoDoFo::PdfVecObjects, 447
CreateAnnotation PoDoFo::PdfVecObjects::StreamFactory, 473
PoDoFo::PdfPage, 294 CubicBezierTo
CreateBase14Font PoDoFo::PdfPainter, 312
PoDoFo::PdfFontFactory, 191
data
CreateChild
PoDoFo::PdfData, 78
PoDoFo::PdfOutlineItem, 283
DebugEnabled
CreateDecodeStream
PoDoFo::PdfError, 147
PoDoFo::PdfFilterFactory, 172
DebugMessage
CreateDuplicateFontType1
PoDoFo::PdfError, 147
PoDoFo::PdfDocument, 106
Decode
CreateEncodeStream PoDoFo::PdfFilter, 166
PoDoFo::PdfFilterFactory, 172 DecodeBlock
CreateEncoding PoDoFo::PdfFilter, 166
PoDoFo::PdfEncodingObjectFactory, 132 DecodeBlockImpl
CreateEncryptionDictionary PoDoFo::PdfAscii85Filter, 55
PoDoFo::PdfEncrypt, 136 PoDoFo::PdfFilter, 166
CreateEncryptionInputStream PoDoFo::PdfFlateFilter, 175
PoDoFo::PdfEncrypt, 136 PoDoFo::PdfHexFilter, 214
PoDoFo::PdfEncryptAESV2, 142 PoDoFo::PdfLZWFilter, 239
PoDoFo::PdfEncryptRC4, 144 PoDoFo::PdfRLEFilter, 364
CreateEncryptionOutputStream Decrypt
PoDoFo::PdfEncrypt, 136 PoDoFo::PdfType1Encrypt, 431
PoDoFo::PdfEncryptAESV2, 143 DelayedLoad
PoDoFo::PdfEncryptRC4, 144 PoDoFo::PdfVariant, 435
CreateFileIdentifier DelayedLoadDone
PoDoFo::PdfWriter, 458 PoDoFo::PdfVariant, 435
CreateFilterList DelayedLoadImpl
PoDoFo::PdfFilterFactory, 173 PoDoFo::PdfParserObject, 346
CreateFont PoDoFo::PdfVariant, 435
PoDoFo::PdfDocument, 106, 107 DelayedStreamLoad
PoDoFo::PdfFontFactory, 192 PoDoFo::PdfObject, 276
CreateFontObject DelayedStreamLoadImpl
PoDoFo::PdfFontFactory, 192 PoDoFo::PdfObject, 276
CreateFontSubset PoDoFo::PdfParserObject, 346
PoDoFo::PdfDocument, 107 DeleteAnnotation
CreateLinearizationDictionary PoDoFo::PdfPage, 295
PoDoFo::PdfWriter, 459 DeletePage
CreateNext PoDoFo::PdfPagesTree, 303
PoDoFo::PdfOutlineItem, 283 PoDoFo::PdfPagesTreeCache, 306
CreateObject DeletePages

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


488 INDEX

PoDoFo::PdfMemDocument, 243 PoDoFo::PdfFontTTFSubset, 205


Detach eFontFileType_Unknown
PoDoFo::PdfVecObjects, 447 PoDoFo::PdfFontTTFSubset, 206
DetermineDataType ELogSeverity
PoDoFo::PdfTokenizer, 423 PoDoFo, 30
Device eLogSeverity_Critical
PoDoFo::PdfRefCountedInputDevice, 359 PoDoFo, 30
Draw eLogSeverity_Debug
PoDoFo::PdfTable, 409 PoDoFo, 30
DrawGlyph eLogSeverity_Error
PoDoFo::PdfPainter, 313 PoDoFo, 30
DrawHorizontalBorders eLogSeverity_Information
PoDoFo::PdfTable, 409 PoDoFo, 30
DrawImage eLogSeverity_None
PoDoFo::PdfPainter, 313 PoDoFo, 30
DrawImageMM eLogSeverity_Unknown
PoDoFo::PdfPainterMM, 334 PoDoFo, 30
DrawLine eLogSeverity_Warning
PoDoFo::PdfPainter, 313 PoDoFo, 30
DrawLineMM EPdfAcroFormDefaulAppearance
PoDoFo::PdfPainterMM, 334 PoDoFo, 30
DrawMultiLineText ePdfAcroFormDefaultAppearance_BlackText12pt
PoDoFo::PdfPainter, 313, 314 PoDoFo, 30
DrawText ePdfAcroFormDefaultAppearance_None
PoDoFo::PdfPainter, 314 PoDoFo, 30
DrawTextAligned EPdfAction
PoDoFo::PdfPainter, 314 PoDoFo, 30
DrawTextMM EPdfAlignment
PoDoFo::PdfPainterMM, 334 PoDoFo, 30
DrawXObject EPdfAnnotation
PoDoFo::PdfPainter, 316
PoDoFo, 30
DrawXObjectMM
EPdfAnnotationFlags
PoDoFo::PdfPainterMM, 335
PoDoFo, 30
EBaseEncoding ePdfBlendMode_Normal
PoDoFo::PdfDifferenceEncoding, 96 PdfDefines.h, 476
eBaseEncoding_Font EPdfColorSpace
PoDoFo::PdfDifferenceEncoding, 96 PoDoFo, 30
eBaseEncoding_MacExpert ePdfColorSpace_CieLab
PoDoFo::PdfDifferenceEncoding, 96 PoDoFo, 31
eBaseEncoding_MacRoman ePdfColorSpace_DeviceCMYK
PoDoFo::PdfDifferenceEncoding, 96 PoDoFo, 31
eBaseEncoding_WinAnsi ePdfColorSpace_DeviceGray
PoDoFo::PdfDifferenceEncoding, 96 PoDoFo, 31
EFontCreationFlags ePdfColorSpace_DeviceRGB
PoDoFo::PdfFontCache, 184 PoDoFo, 31
eFontCreationFlags_AutoSelectBase14 ePdfColorSpace_Indexed
PoDoFo::PdfFontCache, 184 PoDoFo, 31
eFontCreationFlags_None ePdfColorSpace_Separation
PoDoFo::PdfFontCache, 184 PoDoFo, 31
eFontCreationFlags_Type1Subsetting EPdfContentsType
PoDoFo::PdfFontCache, 184 PoDoFo, 31
EFontFileType ePdfContentsType_ImageData
PoDoFo::PdfFontTTFSubset, 205 PoDoFo, 31
eFontFileType_OTF ePdfContentsType_Keyword
PoDoFo::PdfFontTTFSubset, 206 PoDoFo, 31
eFontFileType_TTC ePdfContentsType_Variant
PoDoFo::PdfFontTTFSubset, 205 PoDoFo, 31
eFontFileType_TTF EPdfDataType

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 489

PoDoFo, 31 PoDoFo, 33
ePdfDataType_Array ePdfError_InvalidDataType
PoDoFo, 32 PoDoFo, 33
ePdfDataType_Bool ePdfError_InvalidDeviceOperation
PoDoFo, 31 PoDoFo, 32
ePdfDataType_Dictionary ePdfError_InvalidEncryptionDict
PoDoFo, 32 PoDoFo, 33
ePdfDataType_HexString ePdfError_InvalidEnumValue
PoDoFo, 31 PoDoFo, 32
ePdfDataType_Name ePdfError_InvalidFontFile
PoDoFo, 31 PoDoFo, 33
ePdfDataType_Null ePdfError_InvalidHandle
PoDoFo, 32 PoDoFo, 32
ePdfDataType_Number ePdfError_InvalidHexString
PoDoFo, 31 PoDoFo, 33
ePdfDataType_RawData ePdfError_InvalidKey
PoDoFo, 32 PoDoFo, 33
ePdfDataType_Real ePdfError_InvalidLinearization
PoDoFo, 31 PoDoFo, 32
ePdfDataType_Reference ePdfError_InvalidName
PoDoFo, 32 PoDoFo, 33
ePdfDataType_String ePdfError_InvalidPassword
PoDoFo, 31 PoDoFo, 33
ePdfDataType_Unknown ePdfError_InvalidPredictor
PoDoFo, 32 PoDoFo, 33
EPdfDestinationType ePdfError_InvalidStream
PoDoFo, 32 PoDoFo, 33
EPdfEncryptAlgorithm ePdfError_InvalidStreamLength
PoDoFo::PdfEncrypt, 135 PoDoFo, 33
ePdfEncryptAlgorithm_AESV2 ePdfError_InvalidStrokeStyle
PoDoFo::PdfEncrypt, 135 PoDoFo, 33
ePdfEncryptAlgorithm_RC4V1 ePdfError_InvalidTrailerSize
PoDoFo::PdfEncrypt, 135 PoDoFo, 32
ePdfEncryptAlgorithm_RC4V2 ePdfError_InvalidXRef
PoDoFo::PdfEncrypt, 135 PoDoFo, 33
EPdfError ePdfError_InvalidXRefStream
PoDoFo, 32 PoDoFo, 33
ePdfError_ActionAlreadyPresent ePdfError_InvalidXRefType
PoDoFo, 33 PoDoFo, 33
ePdfError_CannotConvertColor ePdfError_MissingEndStream
PoDoFo, 33 PoDoFo, 33
ePdfError_ChangeOnImmutable ePdfError_MutexError
PoDoFo, 33 PoDoFo, 33
ePdfError_Date ePdfError_NoEOFToken
PoDoFo, 33 PoDoFo, 32
ePdfError_DestinationAlreadyPresent ePdfError_NoNumber
PoDoFo, 33 PoDoFo, 32
ePdfError_ErrOk ePdfError_NoObject
PoDoFo, 32 PoDoFo, 32
ePdfError_FileNotFound ePdfError_NoPdfFile
PoDoFo, 32 PoDoFo, 32
ePdfError_Flate ePdfError_NoTrailer
PoDoFo, 33 PoDoFo, 32
ePdfError_FreeType ePdfError_NoXRef
PoDoFo, 33 PoDoFo, 32
ePdfError_InternalLogic ePdfError_NotCompiled
PoDoFo, 32 PoDoFo, 33
ePdfError_InvalidContentStream ePdfError_NotImplemented

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


490 INDEX

PoDoFo, 33 PoDoFo::PdfInfo, 224


ePdfError_OutOfMemory ePdfInfoInitial_WriteCreationTime
PoDoFo, 32 PoDoFo::PdfInfo, 225
ePdfError_PageNotFound ePdfInfoInitial_WriteModificationTime
PoDoFo, 32 PoDoFo::PdfInfo, 225
ePdfError_SignatureError ePdfInfoInitial_WriteProducer
PoDoFo, 33 PoDoFo::PdfInfo, 225
ePdfError_TestFailed EPdfKeyLength
PoDoFo, 32 PoDoFo::PdfEncrypt, 135
ePdfError_UnexpectedEOF EPdfLineCapStyle
PoDoFo, 32 PoDoFo, 34
ePdfError_Unknown EPdfLineJoinStyle
PoDoFo, 33 PoDoFo, 34
ePdfError_UnsupportedFilter EPdfOutlineFormat
PoDoFo, 33 PoDoFo, 34
ePdfError_UnsupportedFontFormat ePdfOutlineFormat_Bold
PoDoFo, 33 PoDoFo, 35
ePdfError_UnsupportedImageFormat ePdfOutlineFormat_BoldItalic
PoDoFo, 33 PoDoFo, 35
ePdfError_ValueOutOfRange ePdfOutlineFormat_Default
PoDoFo, 32 PoDoFo, 35
ePdfError_WrongDestinationType ePdfOutlineFormat_Italic
PoDoFo, 33 PoDoFo, 35
EPdfField EPdfPageLayout
PoDoFo, 33 PoDoFo, 35
EPdfFilter EPdfPageMode
PoDoFo, 33 PoDoFo, 35
ePdfFilter_ASCII85Decode EPdfPageSize
PoDoFo, 34 PoDoFo, 35
ePdfFilter_ASCIIHexDecode ePdfPageSize_A0
PoDoFo, 33 PoDoFo, 35
ePdfFilter_FlateDecode ePdfPageSize_A1
PoDoFo, 34 PoDoFo, 35
ePdfFilter_RunLengthDecode ePdfPageSize_A2
PoDoFo, 34 PoDoFo, 35
EPdfFontType ePdfPageSize_A3
PoDoFo, 34 PoDoFo, 35
EPdfFunctionType ePdfPageSize_A4
PoDoFo, 34 PoDoFo, 35
ePdfFunctionType_Exponential ePdfPageSize_A5
PoDoFo, 34 PoDoFo, 35
ePdfFunctionType_PostScript ePdfPageSize_A6
PoDoFo, 34 PoDoFo, 35
ePdfFunctionType_Sampled ePdfPageSize_Legal
PoDoFo, 34 PoDoFo, 35
ePdfFunctionType_Stitching ePdfPageSize_Letter
PoDoFo, 34 PoDoFo, 35
EPdfHighlightingMode ePdfPageSize_Tabloid
PoDoFo, 34 PoDoFo, 35
ePdfHighlightingMode_Invert EPdfPermissions
PoDoFo, 34 PoDoFo::PdfEncrypt, 135
ePdfHighlightingMode_InvertOutline ePdfPermissions_Accessible
PoDoFo, 34 PoDoFo::PdfEncrypt, 136
ePdfHighlightingMode_None ePdfPermissions_Copy
PoDoFo, 34 PoDoFo::PdfEncrypt, 135
ePdfHighlightingMode_Push ePdfPermissions_DocAssembly
PoDoFo, 34 PoDoFo::PdfEncrypt, 136
EPdfInfoInitial ePdfPermissions_Edit

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 491

PoDoFo::PdfEncrypt, 135 PoDoFo, 36


ePdfPermissions_EditNotes ePdfWriteMode_Compact
PoDoFo::PdfEncrypt, 135 PoDoFo, 36
ePdfPermissions_FillAndSign Ellipse
PoDoFo::PdfEncrypt, 135 PoDoFo::PdfPainter, 316
ePdfPermissions_HighPrint EllipseMM
PoDoFo::PdfEncrypt, 136 PoDoFo::PdfPainterMM, 335
ePdfPermissions_Print EmbedFont
PoDoFo::PdfEncrypt, 135 PoDoFo::PdfFont, 178
ePdfRenderingIntent_AbsoluteColorimetric PoDoFo::PdfFontCID, 189
PdfDefines.h, 476 PoDoFo::PdfFontSimple, 203
EPdfStrokeStyle EmbedFontFile
PoDoFo, 35 PoDoFo::PdfFontSimple, 203
EPdfTextRenderingMode PoDoFo::PdfFontType1, 208
PoDoFo, 36 PoDoFo::PdfFontType1Base14, 210
ePdfTextRenderingMode_Fill EmbedSubsetFont
PoDoFo, 36 PoDoFo::PdfFont, 179
ePdfTextRenderingMode_FillAndStroke PoDoFo::PdfFontCID, 189
PoDoFo, 36 PoDoFo::PdfFontType1, 208
ePdfTextRenderingMode_FillAndStrokeToClipPath EmbedSubsetFonts
PoDoFo, 36 PoDoFo::PdfDocument, 109
ePdfTextRenderingMode_FillToClipPath PoDoFo::PdfFontCache, 184
PoDoFo, 36 Empty
ePdfTextRenderingMode_Invisible PoDoFo::PdfMemStream, 260
PoDoFo, 36 empty
ePdfTextRenderingMode_Stroke PoDoFo::PdfArray, 51
PoDoFo, 36 EmptyCache
ePdfTextRenderingMode_StrokeToClipPath PoDoFo::PdfFontCache, 184
PoDoFo, 36 EnableDebug
ePdfTextRenderingMode_ToClipPath PoDoFo::PdfError, 147
PoDoFo, 36 EnableDelayedLoading
EPdfTilingPatternType PoDoFo::PdfVariant, 435
PoDoFo, 36 EnableDelayedStreamLoading
EPdfVersion PoDoFo::PdfObject, 276
PoDoFo, 36 EnableLogging
ePdfVersion_1_0 PoDoFo::PdfError, 147
PoDoFo, 36 Encode
ePdfVersion_1_1 PoDoFo::PdfFilter, 167
PoDoFo, 36 EncodeBlock
ePdfVersion_1_2 PoDoFo::PdfFilter, 167
PoDoFo, 36 EncodeBlockImpl
ePdfVersion_1_3 PoDoFo::PdfAscii85Filter, 55
PoDoFo, 36 PoDoFo::PdfFilter, 167
ePdfVersion_1_4 PoDoFo::PdfFlateFilter, 175
PoDoFo, 36 PoDoFo::PdfHexFilter, 214
ePdfVersion_1_5 PoDoFo::PdfLZWFilter, 239
PoDoFo, 36 PoDoFo::PdfRLEFilter, 364
ePdfVersion_1_6 Encrypt
PoDoFo, 36 PoDoFo::PdfEncrypt, 138
ePdfVersion_1_7 PoDoFo::PdfType1Encrypt, 431
PoDoFo, 36 end
ePdfVersion_Default PoDoFo::PdfArray, 51
PoDoFo, 38 PoDoFo::PdfEncoding, 127
EPdfVerticalAlignment PoDoFo::PdfVecObjects, 448
PoDoFo, 36 EndAppend
EPdfWriteMode PoDoFo::PdfStream, 390
PoDoFo, 36 EndAppendImpl
ePdfWriteMode_Clean PoDoFo::PdfFileStream, 162

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


492 INDEX

PoDoFo::PdfMemStream, 260 FindToken2


PoDoFo::PdfStream, 390 PoDoFo::PdfParser, 339
EndAppendStream Finish
PoDoFo::PdfVecObjects, 448 PoDoFo::PdfVecObjects, 448
PoDoFo::PdfVecObjects::Observer, 40 FinishPage
EndDecode PoDoFo::PdfPainter, 318
PoDoFo::PdfFilter, 168 First
EndDecodeImpl PoDoFo::PdfOutlineItem, 283
PoDoFo::PdfAscii85Filter, 56 FixObjectReferences
PoDoFo::PdfFilter, 168 PoDoFo::PdfDocument, 111
PoDoFo::PdfFlateFilter, 176 FlateCompress
PoDoFo::PdfHexFilter, 215 PoDoFo::PdfMemStream, 260
PoDoFo::PdfLZWFilter, 239 FlateCompressStream
EndEncode PoDoFo::PdfObject, 276
PoDoFo::PdfFilter, 168 Flush
EndEncodeImpl PoDoFo::PdfOutputDevice, 289
PoDoFo::PdfAscii85Filter, 56 PoDoFo::PdfSignOutputDevice, 370
PoDoFo::PdfFilter, 168 FontTypeFromFilename
PoDoFo::PdfFlateFilter, 176 PoDoFo::PdfFontMetrics, 194
PoDoFo::PdfLZWFilter, 239 FreeGlobalEncodingInstances
PoDoFo::PdfRLEFilter, 364 PoDoFo::PdfEncodingFactory, 130
EndPath FreeObjectMemory
PoDoFo::PdfPainter, 316 PoDoFo::PdfMemDocument, 243, 244
EndText PoDoFo::PdfParserObject, 346
PoDoFo::PdfPainter, 316 FromArray
EndWrite PoDoFo::PdfColor, 66
PoDoFo::PdfXRef, 467 PoDoFo::PdfRect, 352
PoDoFo::PdfXRefStream, 470 FromEscaped
Eof PoDoFo::PdfName, 267
PoDoFo::PdfInputDevice, 229 FromString
Erase PoDoFo::PdfColor, 66
PoDoFo::PdfOutlineItem, 283 front
ErrorMessage PoDoFo::PdfArray, 51, 52
PoDoFo::PdfError, 148
ErrorName GenerateEncryptionKey
PoDoFo::PdfError, 148 PoDoFo::PdfEncrypt, 138
ExpandTabs PoDoFo::PdfEncryptAESV2, 143
PoDoFo::PdfPainter, 316 PoDoFo::PdfEncryptRC4, 145
GenerationNumber
FailEncodeDecode PoDoFo::PdfReference, 360
PoDoFo::PdfFilter, 169 Get
Fill PoDoFo::PdfMemStream, 260
PoDoFo::PdfPainter, 318 GetAcroForm
FillAndStroke PoDoFo::PdfDocument, 111
PoDoFo::PdfPainter, 318 GetAction
FillTrailerObject PoDoFo::PdfAnnotation, 43
PoDoFo::PdfWriter, 459 PoDoFo::PdfOutlineItem, 283
FillXObjectFromDocumentPage GetAlignment
PoDoFo::PdfDocument, 109 PoDoFo::PdfSimpleTableModel, 378
FillXObjectFromExistingPage PoDoFo::PdfTableModel, 414
PoDoFo::PdfDocument, 109 GetAlternateCaption
FillXObjectFromPage PoDoFo::PdfPushButton, 349
PoDoFo::PdfDocument, 109 GetAlternateColorSpace
FilterNameToType PoDoFo::PdfColor, 66
PoDoFo::PdfFilterFactory, 173 GetAnnotation
FilterTypeToName PoDoFo::PdfPage, 295
PoDoFo::PdfFilterFactory, 173 GetArray
FindToken PoDoFo::PdfDestination, 86
PoDoFo::PdfParser, 339 PoDoFo::PdfVariant, 436

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 493

GetArray_NoDL PoDoFo::PdfString, 402


PoDoFo::PdfVariant, 436 GetCieA
GetArtBox PoDoFo::PdfColor, 67
PoDoFo::PdfPage, 296 GetCieB
GetAscent PoDoFo::PdfColor, 67
PoDoFo::PdfFontMetrics, 194 GetCieL
GetAttachment PoDoFo::PdfColor, 67
PoDoFo::PdfDocument, 111 GetColor
GetAuthor PoDoFo::PdfAnnotation, 44
PoDoFo::PdfInfo, 225 PoDoFo::PdfNamedColor, 271
GetAutoPageBreak GetColorSpace
PoDoFo::PdfTable, 409 PoDoFo::PdfColor, 68
GetBack GetColorSpaceForName
PoDoFo::PdfVecObjects, 448 PoDoFo::PdfColor, 68
GetBackgroundColor GetCols
PoDoFo::PdfSimpleTableModel, 379 PoDoFo::PdfTable, 409
PoDoFo::PdfTableModel, 414 GetContents
GetBaseFont PoDoFo::PdfAnnotation, 44
PoDoFo::PdfFont, 179 PoDoFo::PdfCanvas, 60
GetBlack PoDoFo::PdfContents, 75
PoDoFo::PdfColor, 66 PoDoFo::PdfPage, 296
GetBleedBox PoDoFo::PdfXObject, 464
PoDoFo::PdfPage, 296 GetContentsForAppending
GetBlue PoDoFo::PdfCanvas, 60
PoDoFo::PdfColor, 67 PoDoFo::PdfContents, 75
GetBool PoDoFo::PdfPage, 296
PoDoFo::PdfVariant, 436 PoDoFo::PdfXObject, 464
GetBorderColor GetCopy
PoDoFo::PdfSimpleTableModel, 379 PoDoFo::PdfFileStream, 162
PoDoFo::PdfTableModel, 414 PoDoFo::PdfMemStream, 260
GetBorderWidth PoDoFo::PdfStream, 390, 391
PoDoFo::PdfSimpleTableModel, 379 GetCount
PoDoFo::PdfTableModel, 414 PoDoFo::PdfEncodingDifference, 129
GetBottom GetCreationDate
PoDoFo::PdfRect, 352 PoDoFo::PdfInfo, 225
GetBoundingBox GetCreator
PoDoFo::PdfFontMetrics, 194 PoDoFo::PdfInfo, 225
GetBuffer GetCropBox
PoDoFo::PdfRefCountedBuffer, 355 PoDoFo::PdfPage, 296
PoDoFo::PdfString, 402 GetCurrentPath
GetByteOffset PoDoFo::PdfPainter, 318
PoDoFo::PdfObject, 276 GetCyan
PoDoFo::PdfWriter, 459 PoDoFo::PdfColor, 68
GetCallstack GetDValue
PoDoFo::PdfError, 148 PoDoFo::PdfDestination, 86
GetCanvas GetDataType
PoDoFo::PdfPainter, 318 PoDoFo::PdfVariant, 436
GetCatalog GetDataTypeString
PoDoFo::PdfDocument, 111 PoDoFo::PdfVariant, 436
PoDoFo::PdfMemDocument, 244 GetDensity
GetChar PoDoFo::PdfColor, 68
PoDoFo::PdfInputDevice, 230 GetDescent
GetCharCode PoDoFo::PdfFontMetrics, 195
PoDoFo::PdfDifferenceEncoding, 99 GetDestination
PoDoFo::PdfEncoding, 127 PoDoFo::PdfAnnotation, 44
PoDoFo::PdfIdentityEncoding, 217 PoDoFo::PdfOutlineItem, 283
PoDoFo::PdfSimpleEncoding, 375 GetDictionary
GetCharacterLength PoDoFo::PdfVariant, 437

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


494 INDEX

GetDictionary_NoDL GetFontMetrics
PoDoFo::PdfVariant, 437 PoDoFo::PdfFont, 179
GetDifferences GetFontMetrics2
PoDoFo::PdfDifferenceEncoding, 99 PoDoFo::PdfFont, 179
GetDuplicateFontType1 GetFontScale
PoDoFo::PdfFontCache, 184 PoDoFo::PdfFont, 180
GetEnabledEncryptionAlgorithms PoDoFo::PdfFontMetrics, 195
PoDoFo::PdfEncrypt, 138 GetFontSize
GetEncoding PoDoFo::PdfFont, 180
PoDoFo::PdfFont, 179 PoDoFo::PdfFontMetrics, 196
GetEncrypt GetFontSubset
PoDoFo::PdfMemDocument, 244 PoDoFo::PdfFontCache, 187
PoDoFo::PdfParser, 339 GetFontType
GetEncryptAlgorithm PoDoFo::PdfFontFactory, 192
PoDoFo::PdfEncrypt, 138 PoDoFo::PdfFontMetrics, 196
GetEncrypted GetFontname
PoDoFo::PdfMemDocument, 244 PoDoFo::PdfFontMetrics, 195
PoDoFo::PdfParser, 339 GetForegroundColor
PoDoFo::PdfWriter, 459 PoDoFo::PdfSimpleTableModel, 379
GetError PoDoFo::PdfTableModel, 415
PoDoFo::PdfError, 148 GetFreeObjects
GetEscapedName PoDoFo::PdfVecObjects, 448
PoDoFo::PdfName, 267 GetFromResources
GetField PoDoFo::PdfPage, 298
PoDoFo::PdfPage, 296, 298 GetGlyphId
GetFileAttachement PoDoFo::PdfFontMetrics, 196
PoDoFo::PdfAnnotation, 44 GetGlyphWidth
GetFileLength PoDoFo::PdfFontMetrics, 196
PoDoFo::PdfFileInputStream, 157 GetGrayScale
GetFileSize PoDoFo::PdfColor, 69
PoDoFo::PdfParser, 339 GetGreen
GetFilename PoDoFo::PdfColor, 69
PoDoFo::PdfFileSpec, 159 GetHandle
PoDoFo::PdfFontMetrics, 195 PoDoFo::PdfFileInputStream, 157
GetFilteredCopy GetHeight
PoDoFo::PdfStream, 391 PoDoFo::PdfImage, 219
GetFirstChar PoDoFo::PdfRect, 352
PoDoFo::PdfEncoding, 127 PoDoFo::PdfTable, 409
GetFlags GetHexValue
PoDoFo::PdfAnnotation, 44 PoDoFo::PdfTokenizer, 423
GetFont GetID
PoDoFo::PdfFontCache, 186 PoDoFo::PdfDifferenceEncoding, 100
PoDoFo::PdfMemDocument, 245 PoDoFo::PdfEncoding, 127
PoDoFo::PdfPainter, 318 PoDoFo::PdfIdentityEncoding, 217
PoDoFo::PdfSimpleTableModel, 379 PoDoFo::PdfSimpleEncoding, 375
PoDoFo::PdfTableModel, 414 GetIdentifier
GetFontCharSpace PoDoFo::PdfExtGState, 155
PoDoFo::PdfFont, 179 PoDoFo::PdfFont, 180
PoDoFo::PdfFontMetrics, 195 PoDoFo::PdfShadingPattern, 367
GetFontConfig PoDoFo::PdfTilingPattern, 422
PoDoFo::PdfFontConfigWrapper, 191 PoDoFo::PdfXObject, 464
GetFontData GetIgnoreBrokenObjects
PoDoFo::PdfFontMetrics, 195 PoDoFo::PdfParser, 339
GetFontDataLen GetImage
PoDoFo::PdfFontMetrics, 195 PoDoFo::PdfSimpleTableModel, 381
GetFontLibrary PoDoFo::PdfTableModel, 415
PoDoFo::PdfDocument, 112 GetImmutable
PoDoFo::PdfFontCache, 187 PoDoFo::PdfDataType, 80

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 495

PoDoFo::PdfVariant, 437 GetMarkInfo


GetIndex PoDoFo::PdfMemDocument, 245
PoDoFo::PdfVecObjects, 448 GetMaxLen
GetIndirectKey PoDoFo::PdfTextField, 418
PoDoFo::PdfObject, 277 GetMaxObjectCount
GetInfo PoDoFo::PdfParser, 340
PoDoFo::PdfDocument, 112 GetMediaBox
GetInheritedKey PoDoFo::PdfPage, 298
PoDoFo::PdfPage, 298 GetMetadata
GetInternalBuffer PoDoFo::PdfMemDocument, 245
PoDoFo::PdfFileStream, 162 GetModDate
PoDoFo::PdfMemStream, 261 PoDoFo::PdfInfo, 226
PoDoFo::PdfStream, 391 GetModel
GetInternalBufferSize PoDoFo::PdfTable, 411
PoDoFo::PdfFileStream, 163 GetMultiLineTextAsLines
PoDoFo::PdfMemStream, 261 PoDoFo::PdfPainter, 319
PoDoFo::PdfStream, 391 GetName
GetItalicAngle PoDoFo::PdfColor, 69
PoDoFo::PdfFontMetrics, 197 PoDoFo::PdfName, 267
GetItem PoDoFo::PdfNamedColor, 271
PoDoFo::PdfListField, 235 PoDoFo::PdfSimpleEncoding, 375
GetItemCount PoDoFo::PdfVariant, 437
PoDoFo::PdfListField, 235 GetNameForColorSpace
GetItemDisplayText PoDoFo::PdfColor, 70
PoDoFo::PdfListField, 235 GetNamedObjectFromCatalog
GetKey PoDoFo::PdfDocument, 112
PoDoFo::PdfDictionary, 92, 93 PoDoFo::PdfMemDocument, 245
GetKeys GetNamesTree
PoDoFo::PdfDictionary, 93 PoDoFo::PdfDocument, 112
GetKeywords GetNextNumber
PoDoFo::PdfInfo, 226 PoDoFo::PdfTokenizer, 424
GetLanguage GetNextSubsetPrefix
PoDoFo::PdfMemDocument, 245 PoDoFo::PdfVecObjects, 449
GetLastChar GetNextToken
PoDoFo::PdfEncoding, 127 PoDoFo::PdfContentsTokenizer, 76
GetLeft PoDoFo::PdfTokenizer, 424
PoDoFo::PdfDestination, 86 GetNextVariant
PoDoFo::PdfRect, 352 PoDoFo::PdfTokenizer, 424, 425
GetLength GetNonConstObject
PoDoFo::PdfBufferOutputStream, 58 PoDoFo::PdfElement, 123
PoDoFo::PdfFileStream, 163 GetNumAnnots
PoDoFo::PdfMemStream, 261 PoDoFo::PdfPage, 298
PoDoFo::PdfMemoryOutputStream, 256 GetNumFields
PoDoFo::PdfName, 267 PoDoFo::PdfPage, 299
PoDoFo::PdfOutputDevice, 289 GetNumber
PoDoFo::PdfSignOutputDevice, 370 PoDoFo::PdfVariant, 437
PoDoFo::PdfStream, 392 GetNumberOfIncrementalUpdates
PoDoFo::PdfString, 402 PoDoFo::PdfParser, 340
GetLineSpacing GetObject
PoDoFo::PdfFontMetrics, 197 PoDoFo::PdfDestination, 86
GetLineSpacingMM PoDoFo::PdfElement, 123
PoDoFo::PdfFontMetrics, 197 PoDoFo::PdfVecObjects, 449
GetLinearized GetObjectCount
PoDoFo::PdfWriter, 459 PoDoFo::PdfVecObjects, 449
GetLoadOnDemand GetObjectDependencies
PoDoFo::PdfParser, 339 PoDoFo::PdfVecObjects, 449
GetMagenta GetObjectLength
PoDoFo::PdfColor, 69 PoDoFo::PdfObject, 277

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


496 INDEX

GetObjectReference GetProcSet
PoDoFo::PdfXObject, 465 PoDoFo::PdfCanvas, 61
GetObjects GetProducer
PoDoFo::PdfDocument, 112 PoDoFo::PdfInfo, 226
PoDoFo::PdfMemDocument, 245, 246 GetQuadPoints
PoDoFo::PdfParser, 340 PoDoFo::PdfAnnotation, 45
GetOffset GetRawData
PoDoFo::PdfXRef, 467 PoDoFo::PdfVariant, 438
PoDoFo::PdfXRefStream, 470 GetReal
GetOpen PoDoFo::PdfVariant, 438
PoDoFo::PdfAnnotation, 45 GetRect
GetOutlines PoDoFo::PdfAnnotation, 45
PoDoFo::PdfDocument, 113 PoDoFo::PdfDestination, 88
GetOwner GetRed
PoDoFo::PdfObject, 277 PoDoFo::PdfColor, 70
GetPage GetReference
PoDoFo::PdfAnnotation, 45 PoDoFo::PdfVariant, 438
PoDoFo::PdfDestination, 86, 88 GetResources
PoDoFo::PdfDocument, 113 PoDoFo::PdfCanvas, 61
PoDoFo::PdfPagesTree, 303 PoDoFo::PdfPage, 299
PoDoFo::PdfPagesTreeCache, 306 PoDoFo::PdfXObject, 465
PoDoFo::PdfPainter, 319 GetRolloverCaption
GetPageCount PoDoFo::PdfPushButton, 349
PoDoFo::PdfDocument, 113 GetRotation
GetPageMode PoDoFo::PdfPage, 299
PoDoFo::PdfDocument, 113 GetRows
GetPageNumber PoDoFo::PdfTable, 411
PoDoFo::PdfPage, 299 GetSelectedItem
GetPageSize PoDoFo::PdfListField, 236
PoDoFo::PdfCanvas, 60 GetSignatureBeacon
PoDoFo::PdfPage, 299 PoDoFo::PdfSignOutputDevice, 370
PoDoFo::PdfXObject, 465 GetSignatureSize
GetPagesTree PoDoFo::PdfSignOutputDevice, 370
PoDoFo::PdfDocument, 113 GetSize
GetParentDocument PoDoFo::PdfArray, 52
PoDoFo::PdfVecObjects, 449 PoDoFo::PdfRefCountedBuffer, 355
GetParentOutline PoDoFo::PdfVecObjects, 449
PoDoFo::PdfOutlineItem, 284 PoDoFo::PdfXRef, 467
GetPdfAscent GetStream
PoDoFo::PdfFontMetrics, 197 PoDoFo::PdfObject, 277
GetPdfDescent GetStream_NoDL
PoDoFo::PdfFontMetrics, 197 PoDoFo::PdfObject, 278
GetPdfExtensions GetStrikeOutPosition
PoDoFo::PdfMemDocument, 246 PoDoFo::PdfFontMetrics, 197
GetPdfVersion GetStrikeOutPositionMM
PoDoFo::PdfDocument, 113 PoDoFo::PdfFontMetrics, 198
PoDoFo::PdfImmediateWriter, 223 GetStrikeoutThickness
PoDoFo::PdfMemDocument, 246 PoDoFo::PdfFontMetrics, 198
PoDoFo::PdfParser, 340 GetStrikeoutThicknessMM
PoDoFo::PdfStreamedDocument, 395 PoDoFo::PdfFontMetrics, 198
PoDoFo::PdfWriter, 459 GetString
GetPdfVersionString PoDoFo::PdfString, 402
PoDoFo::PdfParser, 340 PoDoFo::PdfVariant, 438
PoDoFo::PdfWriter, 460 GetStringIndex
GetPrecision PoDoFo::PdfArray, 52
PoDoFo::PdfPainter, 319 GetStringUtf8
GetPreviousOffset PoDoFo::PdfString, 402
PoDoFo::PdfXRefStreamParserObject, 471 GetStructTreeRoot

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 497

PoDoFo::PdfMemDocument, 246 PoDoFo::PdfHexFilter, 215


GetSubject PoDoFo::PdfLZWFilter, 240
PoDoFo::PdfInfo, 226 PoDoFo::PdfRLEFilter, 364
GetSubsetFontnamePrefix GetURI
PoDoFo::PdfFontMetrics, 198 PoDoFo::PdfAction, 41
GetSupportedFormats GetUnderlinePosition
PoDoFo::PdfImage, 219 PoDoFo::PdfFontMetrics, 198
GetTabWidth GetUnderlinePositionMM
PoDoFo::PdfPainter, 319 PoDoFo::PdfFontMetrics, 198
GetText GetUnderlineThickness
PoDoFo::PdfSimpleTableModel, 381 PoDoFo::PdfFontMetrics, 198
PoDoFo::PdfTableModel, 415 GetUnderlineThicknessMM
PoDoFo::PdfTextField, 418 PoDoFo::PdfFontMetrics, 199
GetTextColorBlue GetUnicode
PoDoFo::PdfOutlineItem, 284 PoDoFo::PdfString, 403
GetTextColorGreen GetUnicodeLength
PoDoFo::PdfOutlineItem, 284 PoDoFo::PdfString, 403
GetTextColorRed GetUseXRefStream
PoDoFo::PdfOutlineItem, 284 PoDoFo::PdfWriter, 460
GetTextFormat GetVerticalAlignment
PoDoFo::PdfOutlineItem, 284 PoDoFo::PdfSimpleTableModel, 381
GetTextRenderingMode PoDoFo::PdfTableModel, 415
PoDoFo::PdfPainter, 319 GetWeight
GetTime PoDoFo::PdfFontMetrics, 199
PoDoFo::PdfDate, 83 GetWidth
GetTitle PoDoFo::PdfImage, 220
PoDoFo::PdfAnnotation, 45 PoDoFo::PdfRect, 352
PoDoFo::PdfInfo, 226 PoDoFo::PdfTable, 411
PoDoFo::PdfOutlineItem, 285 GetWidthArray
GetToUnicodeTable PoDoFo::PdfFontMetrics, 199
PoDoFo::PdfDocEncoding, 101 GetWordSpace
PoDoFo::PdfIso88592Encoding, 232 PoDoFo::PdfFont, 180
PoDoFo::PdfMacRomanEncoding, 241 PoDoFo::PdfFontMetrics, 199
PoDoFo::PdfSimpleEncoding, 376 GetWriteMode
PoDoFo::PdfStandardEncoding, 386 PoDoFo::PdfDocument, 114
PoDoFo::PdfSymbolEncoding, 406 PoDoFo::PdfImmediateWriter, 223
PoDoFo::PdfWin1250Encoding, 454 PoDoFo::PdfMemDocument, 246
PoDoFo::PdfWinAnsiEncoding, 456 PoDoFo::PdfStreamedDocument, 395
PoDoFo::PdfZapfDingbatsEncoding, 473 PoDoFo::PdfWriter, 460
GetTop GetYellow
PoDoFo::PdfDestination, 88 PoDoFo::PdfColor, 70
GetTotalNumberOfPages GetZoom
PoDoFo::PdfPagesTree, 303 PoDoFo::PdfDestination, 88
GetTrailer GlobalIdentityEncodingInstance
PoDoFo::PdfDocument, 114 PoDoFo::PdfEncodingFactory, 130
PoDoFo::PdfMemDocument, 246 GlobalIso88592EncodingInstance
PoDoFo::PdfParser, 340 PoDoFo::PdfEncodingFactory, 130
GetTrapped GlobalMacExpertEncodingInstance
PoDoFo::PdfInfo, 226 PoDoFo::PdfEncodingFactory, 131
GetTrimBox GlobalMacRomanEncodingInstance
PoDoFo::PdfPage, 299 PoDoFo::PdfEncodingFactory, 131
GetType GlobalPdfDocEncodingInstance
PoDoFo::PdfAction, 41 PoDoFo::PdfEncodingFactory, 131
PoDoFo::PdfAnnotation, 45 GlobalStandardEncodingInstance
PoDoFo::PdfAscii85Filter, 56 PoDoFo::PdfEncodingFactory, 131
PoDoFo::PdfDestination, 88 GlobalSymbolEncodingInstance
PoDoFo::PdfFilter, 169 PoDoFo::PdfEncodingFactory, 131
PoDoFo::PdfFlateFilter, 176 GlobalWin1250EncodingInstance

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


498 INDEX

PoDoFo::PdfEncodingFactory, 131 PoDoFo::PdfListField, 236


GlobalWinAnsiEncodingInstance InsertPage
PoDoFo::PdfEncodingFactory, 132 PoDoFo::PdfDocument, 114
GlobalZapfDingbatsEncodingInstance PoDoFo::PdfPagesTree, 304
PoDoFo::PdfEncodingFactory, 132 PoDoFo::PdfPagesTreeCache, 306
InsertPages
HEX_NOT_FOUND PoDoFo::PdfMemDocument, 248
PoDoFo::PdfTokenizer, 427 PoDoFo::PdfPagesTree, 304
HasAction PoDoFo::PdfPagesTreeCache, 306
PoDoFo::PdfAnnotation, 46 Intersect
HasAppearanceStream PoDoFo::PdfRect, 352
PoDoFo::PdfAnnotation, 46 IsAccessibilityAllowed
HasBackgroundColor PoDoFo::PdfDocument, 116
PoDoFo::PdfSimpleTableModel, 381 PoDoFo::PdfEncrypt, 138
PoDoFo::PdfTableModel, 416 PoDoFo::PdfMemDocument, 248
HasBorders PoDoFo::PdfStreamedDocument, 395
PoDoFo::PdfSimpleTableModel, 382 IsAppending
PoDoFo::PdfTableModel, 416 PoDoFo::PdfStream, 392
HasDestination IsArray
PoDoFo::PdfAnnotation, 46
PoDoFo::PdfVariant, 438
HasFileAttachement
IsAutoDelete
PoDoFo::PdfAnnotation, 46
PoDoFo::PdfDifferenceEncoding, 100
HasImage
PoDoFo::PdfIdentityEncoding, 217
PoDoFo::PdfSimpleTableModel, 382
PoDoFo::PdfSimpleEncoding, 376
PoDoFo::PdfTableModel, 416
IsBold
HasKey
PoDoFo::PdfFont, 180
PoDoFo::PdfDictionary, 93
IsBool
HasLinearizationDict
PoDoFo::PdfVariant, 438
PoDoFo::PdfParser, 340
IsCMYK
HasPdfExtension
PoDoFo::PdfColor, 71
PoDoFo::PdfMemDocument, 246
IsChecked
HasPrevious
PoDoFo::PdfCheckBox, 62
PoDoFo::PdfXRefStreamParserObject, 472
IsCieLab
HasStream
PoDoFo::PdfColor, 70
PoDoFo::PdfObject, 278
IsComboBox
HasStreamToParse
PoDoFo::PdfListField, 236
PoDoFo::PdfParserObject, 347
IsCombs
HasURI
PoDoFo::PdfTextField, 418
PoDoFo::PdfAction, 41
IsCopyAllowed
HasWordWrap
PoDoFo::PdfSimpleTableModel, 382 PoDoFo::PdfDocument, 116
PoDoFo::PdfTableModel, 416 PoDoFo::PdfEncrypt, 138
HorizontalLineTo PoDoFo::PdfMemDocument, 248
PoDoFo::PdfPainter, 319 PoDoFo::PdfStreamedDocument, 396
IsDelimiter
Init PoDoFo::PdfTokenizer, 425
PoDoFo::PdfFontCID, 189 IsDictionary
PoDoFo::PdfFontSimple, 204 PoDoFo::PdfVariant, 439
InitFromParser IsDirty
PoDoFo::PdfMemDocument, 248 PoDoFo::PdfArray, 52
InitPagesTree PoDoFo::PdfDataType, 80
PoDoFo::PdfDocument, 114 PoDoFo::PdfDictionary, 93
insert_sorted PoDoFo::PdfVariant, 439
PoDoFo::PdfVecObjects, 449 IsDocAssemblyAllowed
InsertChild PoDoFo::PdfDocument, 116
PoDoFo::PdfOutlineItem, 285 PoDoFo::PdfEncrypt, 139
InsertExistingPageAt PoDoFo::PdfMemDocument, 248
PoDoFo::PdfDocument, 114 PoDoFo::PdfStreamedDocument, 396
InsertItem IsEditAllowed

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 499

PoDoFo::PdfDocument, 116 IsNumber


PoDoFo::PdfEncrypt, 139 PoDoFo::PdfVariant, 439
PoDoFo::PdfMemDocument, 249 IsPasswordField
PoDoFo::PdfStreamedDocument, 396 PoDoFo::PdfTextField, 418
IsEditNotesAllowed IsPdfFile
PoDoFo::PdfDocument, 117 PoDoFo::PdfParser, 341
PoDoFo::PdfEncrypt, 139 IsPrintAllowed
PoDoFo::PdfMemDocument, 249 PoDoFo::PdfDocument, 118
PoDoFo::PdfStreamedDocument, 396 PoDoFo::PdfEncrypt, 140
IsEditable PoDoFo::PdfMemDocument, 250
PoDoFo::PdfComboBox, 73 PoDoFo::PdfStreamedDocument, 397
IsEmpty IsPrintable
PoDoFo::PdfVariant, 439 PoDoFo::PdfTokenizer, 425
IsEncryptionEnabled IsRGB
PoDoFo::PdfEncrypt, 139 PoDoFo::PdfColor, 71
IsError IsRawData
PoDoFo::PdfError, 148 PoDoFo::PdfVariant, 439
IsFileField IsReal
PoDoFo::PdfTextField, 418 PoDoFo::PdfVariant, 440
IsFillAndSignAllowed IsReference
PoDoFo::PdfDocument, 117 PoDoFo::PdfVariant, 440
PoDoFo::PdfEncrypt, 140 IsRegular
PoDoFo::PdfMemDocument, 249 PoDoFo::PdfTokenizer, 425
PoDoFo::PdfStreamedDocument, 397 IsRichText
IsGrayScale PoDoFo::PdfTextField, 419
PoDoFo::PdfColor, 71 IsScrollBarsEnabled
IsHex PoDoFo::PdfTextField, 419
PoDoFo::PdfString, 403 IsSeekable
IsHexString PoDoFo::PdfInputDevice, 230
PoDoFo::PdfVariant, 439 IsSeparation
IsHighPrintAllowed PoDoFo::PdfColor, 71
PoDoFo::PdfDocument, 117 IsSingleByteEncoding
PoDoFo::PdfEncrypt, 140 PoDoFo::PdfDifferenceEncoding, 100
PoDoFo::PdfMemDocument, 249 PoDoFo::PdfIdentityEncoding, 218
PoDoFo::PdfStreamedDocument, 397 PoDoFo::PdfSimpleEncoding, 376
IsIndirect IsSorted
PoDoFo::PdfReference, 360 PoDoFo::PdfListField, 236
IsItalic IsSpellcheckingEnabled
PoDoFo::PdfFont, 180 PoDoFo::PdfListField, 236
IsLinearized PoDoFo::PdfTextField, 419
PoDoFo::PdfDocument, 117 IsStrictParsing
PoDoFo::PdfMemDocument, 250 PoDoFo::PdfParser, 341
PoDoFo::PdfParser, 341 IsStrikeOut
PoDoFo::PdfStreamedDocument, 397 PoDoFo::PdfFont, 181
IsLoadOnDemand IsString
PoDoFo::PdfParserObject, 347 PoDoFo::PdfVariant, 440
IsLoaded IsSubsetting
PoDoFo::PdfMemDocument, 250 PoDoFo::PdfFont, 181
IsMultiLine IsSymbol
PoDoFo::PdfTextField, 418 PoDoFo::PdfFontMetrics, 199
IsMultiSelect IsUnderlined
PoDoFo::PdfListField, 236 PoDoFo::PdfFont, 181
IsName IsUnicode
PoDoFo::PdfVariant, 439 PoDoFo::PdfString, 403
IsNextToken IsValid
PoDoFo::PdfTokenizer, 425 PoDoFo::PdfDate, 83
IsNull PoDoFo::PdfString, 404
PoDoFo::PdfVariant, 439 IsWhitespace

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


500 INDEX

PoDoFo::PdfTokenizer, 425 operator!=


PoDoFo::PdfColor, 71
Last PoDoFo::PdfDictionary, 94
PoDoFo::PdfOutlineItem, 285 PoDoFo::PdfError, 150
LineTo PoDoFo::PdfName, 268
PoDoFo::PdfPainter, 320 PoDoFo::PdfReference, 361
LineToMM PoDoFo::PdfString, 404
PoDoFo::PdfPainterMM, 335 PoDoFo::PdfVariant, 440
Load operator<
PoDoFo::PdfMemDocument, 250, 252 PoDoFo::PdfEncoding, 128
LoadFromData PoDoFo::PdfName, 268
PoDoFo::PdfImage, 220 PoDoFo::PdfNamedColor, 271
LoadFromFile PoDoFo::PdfObject, 278
PoDoFo::PdfImage, 220 PoDoFo::PdfRefCountedBuffer, 355
Lock PoDoFo::PdfReference, 361
PoDoFo::Util::PdfMutexImpl, 263, 264 PoDoFo::PdfString, 404
LogMessage operator>
PoDoFo::PdfError, 148, 150 PoDoFo::PdfRefCountedBuffer, 356
LoggingEnabled PoDoFo::PdfString, 405
PoDoFo::PdfError, 148 operator=
Look PoDoFo::PdfArray, 52
PoDoFo::PdfInputDevice, 230 PoDoFo::PdfColor, 71
PoDoFo::PdfData, 78
m_curColor PoDoFo::PdfDestination, 88
PoDoFo::PdfPainter, 332 PoDoFo::PdfDictionary, 94
m_curPath PoDoFo::PdfEncodingDifference, 129
PoDoFo::PdfPainter, 332 PoDoFo::PdfError, 150
m_isTextOpen PoDoFo::PdfMemStream, 261
PoDoFo::PdfPainter, 332 PoDoFo::PdfName, 268
m_nTabWidth PoDoFo::PdfObject, 278
PoDoFo::PdfPainter, 332 PoDoFo::PdfRefCountedBuffer, 355
m_oss PoDoFo::PdfRefCountedInputDevice, 359
PoDoFo::PdfPainter, 332 PoDoFo::PdfReference, 361
m_pCanvas PoDoFo::PdfStream, 392
PoDoFo::PdfPainter, 332 PoDoFo::PdfString, 404
m_pFont PoDoFo::PdfVariant, 440
PoDoFo::PdfPainter, 333 operator==
m_pPage PoDoFo::PdfColor, 72
PoDoFo::PdfPainter, 333 PoDoFo::PdfDictionary, 94
m_vecObjects PoDoFo::PdfEncoding, 128
PoDoFo::PdfWriter, 462 PoDoFo::PdfError, 151
MergeTrailer PoDoFo::PdfName, 268, 269
PoDoFo::PdfParser, 341 PoDoFo::PdfNamedColor, 271
MoveTextPos PoDoFo::PdfObject, 278
PoDoFo::PdfPainter, 320 PoDoFo::PdfRefCountedBuffer, 356
MoveTo PoDoFo::PdfReference, 361
PoDoFo::PdfPainter, 320 PoDoFo::PdfString, 404
MoveToMM PoDoFo::PdfVariant, 440
PoDoFo::PdfPainterMM, 335
MustGetIndirectKey PDF_MAX
PoDoFo::PdfObject, 278 PoDoFo, 37
PDF_MIN
NameToUnicodeID PoDoFo, 37
PoDoFo::PdfDifferenceEncoding, 100 PODOFO_MAKE_VERSION_REAL
Next PdfDefines.h, 477
PoDoFo::PdfOutlineItem, 285 PODOFO_MAKE_VERSION_STR_REAL
PdfDefines.h, 477
ObjectNumber PODOFO_RAISE_ERROR
PoDoFo::PdfReference, 361 PdfError.h, 478

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 501

PODOFO_RAISE_ERROR_INFO PdfEncoding
PdfError.h, 478 PoDoFo::PdfEncoding, 125
PODOFO_RAISE_LOGIC_IF PdfEncodingDifference
PdfError.h, 478 PoDoFo::PdfEncodingDifference, 128
ParentDestructed PdfError
PoDoFo::PdfVecObjects::Observer, 40 PoDoFo::PdfError, 146, 147
ParseFile PdfError.h, 477
PoDoFo::PdfParser, 341, 342 PODOFO_RAISE_ERROR, 478
PoDoFo::PdfParserObject, 347 PODOFO_RAISE_ERROR_INFO, 478
ParseStream PODOFO_RAISE_LOGIC_IF, 478
PoDoFo::PdfParserObject, 347 PdfExponentialFunction
PdfAction PoDoFo::PdfExponentialFunction, 153
PoDoFo::PdfAction, 41 PdfExtGState
PdfAnnotation PoDoFo::PdfExtGState, 154
PoDoFo::PdfAnnotation, 43 PdfFileInputStream
PdfArray PoDoFo::PdfFileInputStream, 157
PoDoFo::PdfArray, 50 PdfFileOutputStream
PdfAxialShadingPattern PoDoFo::PdfFileOutputStream, 158
PoDoFo::PdfAxialShadingPattern, 57 PdfFileSpec
PdfBufferOutputStream PoDoFo::PdfFileSpec, 159
PoDoFo::PdfBufferOutputStream, 58 PdfFileStream
PdfCheckBox PoDoFo::PdfFileStream, 160
PoDoFo::PdfCheckBox, 61, 62 PdfFilter
PdfColor PoDoFo::PdfFilter, 164
PoDoFo::PdfColor, 64 PdfFilteredDecodeStream
PdfComboBox PoDoFo::PdfFilteredDecodeStream, 170
PoDoFo::PdfComboBox, 73 PdfFilteredEncodeStream
PdfContents PoDoFo::PdfFilteredEncodeStream, 171
PoDoFo::PdfContents, 74 PdfFiltersPrivate.h, 478
PdfContentsTokenizer PdfFont
PoDoFo::PdfContentsTokenizer, 75, 76 PoDoFo::PdfFont, 178
PdfData PdfFontCID
PoDoFo::PdfData, 77, 78 PoDoFo::PdfFontCID, 188
PdfDataType PdfFontCache
PoDoFo::PdfDataType, 79 PoDoFo::PdfFontCache, 184
PdfDate PdfFontConfigWrapper
PoDoFo::PdfDate, 81 PoDoFo::PdfFontConfigWrapper, 191
PdfDefines.h, 475 PdfFontSimple
ePdfBlendMode_Normal, 476 PoDoFo::PdfFontSimple, 203
ePdfRenderingIntent_AbsoluteColorimetric, 476 PdfFontTTFSubset
PODOFO_MAKE_VERSION_REAL, 477 PoDoFo::PdfFontTTFSubset, 206
PODOFO_MAKE_VERSION_STR_REAL, 477 PdfFontTrueType
PdfDestination PoDoFo::PdfFontTrueType, 204, 205
PoDoFo::PdfDestination, 84, 85 PdfFontType1
PdfDeviceInputStream PoDoFo::PdfFontType1, 207, 208
PoDoFo::PdfDeviceInputStream, 89 PdfFontType1Base14
PdfDeviceOutputStream PoDoFo::PdfFontType1Base14, 209
PoDoFo::PdfDeviceOutputStream, 90 PdfFontType3
PdfDictionary PoDoFo::PdfFontType3, 210, 211
PoDoFo::PdfDictionary, 91 PdfFunction
PdfDifferenceEncoding PoDoFo::PdfFunction, 212
PoDoFo::PdfDifferenceEncoding, 96, 97 PdfFunctionBaseShadingPattern
PdfDocEncoding PoDoFo::PdfFunctionBaseShadingPattern, 213
PoDoFo::PdfDocEncoding, 101 PdfIdentityEncoding
PdfDocument PoDoFo::PdfIdentityEncoding, 216
PoDoFo::PdfDocument, 104 PdfImage
PdfElement PoDoFo::PdfImage, 219
PoDoFo::PdfElement, 122 PdfImmediateWriter

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


502 INDEX

PoDoFo::PdfImmediateWriter, 223 PoDoFo::PdfRadialShadingPattern, 350


PdfInfo PdfRect
PoDoFo::PdfInfo, 225 PoDoFo::PdfRect, 351, 352
PdfInputDevice PdfRefCountedBuffer
PoDoFo::PdfInputDevice, 228, 229 PoDoFo::PdfRefCountedBuffer, 354, 355
PdfIso88592Encoding PdfRefCountedInputDevice
PoDoFo::PdfIso88592Encoding, 232 PoDoFo::PdfRefCountedInputDevice, 357
PdfListBox PdfReference
PoDoFo::PdfListBox, 233 PoDoFo::PdfReference, 360
PdfListField PdfSampledFunction
PoDoFo::PdfListField, 234, 235 PoDoFo::PdfSampledFunction, 365, 366
PdfLocaleImbue PdfShadingPattern
PoDoFo, 37 PoDoFo::PdfShadingPattern, 366, 367
PdfMacRomanEncoding PdfSignatureField
PoDoFo::PdfMacRomanEncoding, 241 PoDoFo::PdfSignatureField, 367
PdfMemDocument PdfSimpleTableModel
PoDoFo::PdfMemDocument, 243 PoDoFo::PdfSimpleTableModel, 377
PdfMemStream PdfStandardEncoding
PoDoFo::PdfMemStream, 258 PoDoFo::PdfStandardEncoding, 386
PdfMemoryInputStream PdfStitchingFunction
PoDoFo::PdfMemoryInputStream, 255 PoDoFo::PdfStitchingFunction, 387
PdfMemoryOutputStream PdfStream
PoDoFo::PdfMemoryOutputStream, 256 PoDoFo::PdfStream, 388
PdfMutexImpl PdfStreamedDocument
PoDoFo::Util::PdfMutexImpl, 263 PoDoFo::PdfStreamedDocument, 395
PdfMutexWrapper PdfString
PoDoFo::Util::PdfMutexWrapper, 265 PoDoFo::PdfString, 399, 400
PdfName PdfSymbolEncoding
PoDoFo::PdfName, 266, 267 PoDoFo::PdfSymbolEncoding, 406
PdfNamedColor PdfTTFWriter
PoDoFo::PdfNamedColor, 270, 271 PoDoFo::NonPublic::PdfTTFWriter, 430
PdfObject PdfTable
PoDoFo::PdfObject, 273, 274, 276 PoDoFo::PdfTable, 408
PdfObjectStreamParserObject PdfTextField
PoDoFo::PdfObjectStreamParserObject, 279 PoDoFo::PdfTextField, 417, 418
PdfOutlineItem PdfTilingPattern
PoDoFo::PdfOutlineItem, 282 PoDoFo::PdfTilingPattern, 421, 422
PdfOutlines PdfTriangleShadingPattern
PoDoFo::PdfOutlines, 287 PoDoFo::PdfTriangleShadingPattern, 427, 429
PdfOutputDevice PdfType1Encrypt
PoDoFo::PdfOutputDevice, 288, 289 PoDoFo::PdfType1Encrypt, 431
PdfPage PdfVariant
PoDoFo::PdfPage, 293 PoDoFo::PdfVariant, 433–435
PdfPagesTree PdfVecObjects
PoDoFo::PdfPagesTree, 301 PoDoFo::PdfVecObjects, 444
PdfPagesTreeCache PdfWin1250Encoding
PoDoFo::PdfPagesTreeCache, 305 PoDoFo::PdfWin1250Encoding, 454
PdfPainter PdfWinAnsiEncoding
PoDoFo::PdfPainter, 309 PoDoFo::PdfWinAnsiEncoding, 455
PdfPainterMM PdfWriter
PoDoFo::PdfPainterMM, 334 PoDoFo::PdfWriter, 457
PdfParser PdfXObject
PoDoFo::PdfParser, 337, 338 PoDoFo::PdfXObject, 463, 464
PdfParserObject PdfXRef
PoDoFo::PdfParserObject, 346 PoDoFo::PdfXRef, 466
PdfPushButton PdfXRefStream
PoDoFo::PdfPushButton, 348, 349 PoDoFo::PdfXRefStream, 469
PdfRadialShadingPattern PdfXRefStreamParserObject

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 503

PoDoFo::PdfXRefStreamParserObject, 471 ePdfError_InvalidDeviceOperation, 32


PdfZapfDingbatsEncoding ePdfError_InvalidEncryptionDict, 33
PoDoFo::PdfZapfDingbatsEncoding, 472 ePdfError_InvalidEnumValue, 32
PoDoFo, 25 ePdfError_InvalidFontFile, 33
ELogSeverity, 30 ePdfError_InvalidHandle, 32
eLogSeverity_Critical, 30 ePdfError_InvalidHexString, 33
eLogSeverity_Debug, 30 ePdfError_InvalidKey, 33
eLogSeverity_Error, 30 ePdfError_InvalidLinearization, 32
eLogSeverity_Information, 30 ePdfError_InvalidName, 33
eLogSeverity_None, 30 ePdfError_InvalidPassword, 33
eLogSeverity_Unknown, 30 ePdfError_InvalidPredictor, 33
eLogSeverity_Warning, 30 ePdfError_InvalidStream, 33
EPdfAcroFormDefaulAppearance, 30 ePdfError_InvalidStreamLength, 33
ePdfAcroFormDefaultAppearance_BlackText12pt, ePdfError_InvalidStrokeStyle, 33
30 ePdfError_InvalidTrailerSize, 32
ePdfAcroFormDefaultAppearance_None, 30 ePdfError_InvalidXRef, 33
EPdfAction, 30 ePdfError_InvalidXRefStream, 33
EPdfAlignment, 30 ePdfError_InvalidXRefType, 33
EPdfAnnotation, 30 ePdfError_MissingEndStream, 33
EPdfAnnotationFlags, 30 ePdfError_MutexError, 33
EPdfColorSpace, 30 ePdfError_NoEOFToken, 32
ePdfColorSpace_CieLab, 31 ePdfError_NoNumber, 32
ePdfColorSpace_DeviceCMYK, 31 ePdfError_NoObject, 32
ePdfColorSpace_DeviceGray, 31 ePdfError_NoPdfFile, 32
ePdfColorSpace_DeviceRGB, 31 ePdfError_NoTrailer, 32
ePdfColorSpace_Indexed, 31 ePdfError_NoXRef, 32
ePdfColorSpace_Separation, 31 ePdfError_NotCompiled, 33
EPdfContentsType, 31 ePdfError_NotImplemented, 33
ePdfContentsType_ImageData, 31 ePdfError_OutOfMemory, 32
ePdfContentsType_Keyword, 31 ePdfError_PageNotFound, 32
ePdfContentsType_Variant, 31 ePdfError_SignatureError, 33
EPdfDataType, 31 ePdfError_TestFailed, 32
ePdfDataType_Array, 32 ePdfError_UnexpectedEOF, 32
ePdfDataType_Bool, 31 ePdfError_Unknown, 33
ePdfDataType_Dictionary, 32 ePdfError_UnsupportedFilter, 33
ePdfDataType_HexString, 31 ePdfError_UnsupportedFontFormat, 33
ePdfDataType_Name, 31 ePdfError_UnsupportedImageFormat, 33
ePdfDataType_Null, 32 ePdfError_ValueOutOfRange, 32
ePdfDataType_Number, 31 ePdfError_WrongDestinationType, 33
ePdfDataType_RawData, 32 EPdfField, 33
ePdfDataType_Real, 31 EPdfFilter, 33
ePdfDataType_Reference, 32 ePdfFilter_ASCII85Decode, 34
ePdfDataType_String, 31 ePdfFilter_ASCIIHexDecode, 33
ePdfDataType_Unknown, 32 ePdfFilter_FlateDecode, 34
EPdfDestinationType, 32 ePdfFilter_RunLengthDecode, 34
EPdfError, 32 EPdfFontType, 34
ePdfError_ActionAlreadyPresent, 33 EPdfFunctionType, 34
ePdfError_CannotConvertColor, 33 ePdfFunctionType_Exponential, 34
ePdfError_ChangeOnImmutable, 33 ePdfFunctionType_PostScript, 34
ePdfError_Date, 33 ePdfFunctionType_Sampled, 34
ePdfError_DestinationAlreadyPresent, 33 ePdfFunctionType_Stitching, 34
ePdfError_ErrOk, 32 EPdfHighlightingMode, 34
ePdfError_FileNotFound, 32 ePdfHighlightingMode_Invert, 34
ePdfError_Flate, 33 ePdfHighlightingMode_InvertOutline, 34
ePdfError_FreeType, 33 ePdfHighlightingMode_None, 34
ePdfError_InternalLogic, 32 ePdfHighlightingMode_Push, 34
ePdfError_InvalidContentStream, 33 EPdfLineCapStyle, 34
ePdfError_InvalidDataType, 33 EPdfLineJoinStyle, 34

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


504 INDEX

EPdfOutlineFormat, 34 Write, 430


ePdfOutlineFormat_Bold, 35 PoDoFo::PdfAction, 40
ePdfOutlineFormat_BoldItalic, 35 AddToDictionary, 41
ePdfOutlineFormat_Default, 35 GetType, 41
ePdfOutlineFormat_Italic, 35 GetURI, 41
EPdfPageLayout, 35 HasURI, 41
EPdfPageMode, 35 PdfAction, 41
EPdfPageSize, 35 SetURI, 42
ePdfPageSize_A0, 35 PoDoFo::PdfAnnotation, 42
ePdfPageSize_A1, 35 GetAction, 43
ePdfPageSize_A2, 35 GetColor, 44
ePdfPageSize_A3, 35 GetContents, 44
ePdfPageSize_A4, 35 GetDestination, 44
ePdfPageSize_A5, 35 GetFileAttachement, 44
ePdfPageSize_A6, 35 GetFlags, 44
ePdfPageSize_Legal, 35 GetOpen, 45
ePdfPageSize_Letter, 35 GetPage, 45
ePdfPageSize_Tabloid, 35 GetQuadPoints, 45
EPdfStrokeStyle, 35 GetRect, 45
EPdfTextRenderingMode, 36 GetTitle, 45
ePdfTextRenderingMode_Fill, 36 GetType, 45
ePdfTextRenderingMode_FillAndStroke, 36 HasAction, 46
ePdfTextRenderingMode_FillAndStrokeToClip←- HasAppearanceStream, 46
Path, 36 HasDestination, 46
ePdfTextRenderingMode_FillToClipPath, 36 HasFileAttachement, 46
ePdfTextRenderingMode_Invisible, 36 PdfAnnotation, 43
ePdfTextRenderingMode_Stroke, 36 SetAction, 46
ePdfTextRenderingMode_StrokeToClipPath, 36 SetAppearanceStream, 46
ePdfTextRenderingMode_ToClipPath, 36 SetBorderStyle, 47
EPdfTilingPatternType, 36 SetColor, 47, 48
EPdfVersion, 36 SetContents, 48
ePdfVersion_1_0, 36 SetDestination, 48
ePdfVersion_1_1, 36 SetFileAttachement, 48
ePdfVersion_1_2, 36 SetFlags, 48
ePdfVersion_1_3, 36 SetOpen, 48
ePdfVersion_1_4, 36 SetQuadPoints, 49
ePdfVersion_1_5, 36 SetTitle, 49
ePdfVersion_1_6, 36 PoDoFo::PdfArray, 49
ePdfVersion_1_7, 36 back, 50, 51
ePdfVersion_Default, 38 begin, 51
EPdfVerticalAlignment, 36 Clear, 51
EPdfWriteMode, 36 ContainsString, 51
ePdfWriteMode_Clean, 36 empty, 51
ePdfWriteMode_Compact, 36 end, 51
PDF_MAX, 37 front, 51, 52
PDF_MIN, 37 GetSize, 52
PdfLocaleImbue, 37 GetStringIndex, 52
podofo_calloc, 37 IsDirty, 52
podofo_free, 37 operator=, 52
podofo_is_little_endian, 37 PdfArray, 50
podofo_malloc, 37 push_back, 52
podofo_realloc, 38 rbegin, 53
PoDoFo::MD5Context, 39 rend, 53
PoDoFo::NamedColorComparatorPredicate, 39 resize, 53
PoDoFo::NonPublic::PdfTTFWriter, 429 SetDirty, 53
PdfTTFWriter, 430 size, 53
Read, 430 Write, 54
Subset, 430 PoDoFo::PdfAscii85Filter, 54

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 505

BeginDecodeImpl, 54 IsGrayScale, 71
BeginEncodeImpl, 55 IsRGB, 71
CanDecode, 55 IsSeparation, 71
CanEncode, 55 operator!=, 71
DecodeBlockImpl, 55 operator=, 71
EncodeBlockImpl, 55 operator==, 72
EndDecodeImpl, 56 PdfColor, 64
EndEncodeImpl, 56 ToArray, 72
GetType, 56 PoDoFo::PdfComboBox, 72
PoDoFo::PdfAxialShadingPattern, 57 IsEditable, 73
PdfAxialShadingPattern, 57 PdfComboBox, 73
PoDoFo::PdfBufferOutputStream, 58 SetEditable, 73
Close, 58 PoDoFo::PdfContents, 73
GetLength, 58 ∼PdfContents, 74
PdfBufferOutputStream, 58 GetContents, 75
Write, 59 GetContentsForAppending, 75
PoDoFo::PdfCanvas, 59 PdfContents, 74
∼PdfCanvas, 60 PoDoFo::PdfContentsTokenizer, 75
AddColorResource, 60 GetNextToken, 76
AddResource, 60 PdfContentsTokenizer, 75, 76
GetContents, 60 ReadNext, 76
GetContentsForAppending, 60 PoDoFo::PdfData, 77
GetPageSize, 60 data, 78
GetProcSet, 61 operator=, 78
GetResources, 61 PdfData, 77, 78
PoDoFo::PdfCheckBox, 61 Write, 78
IsChecked, 62 PoDoFo::PdfDataType, 79
PdfCheckBox, 61, 62 AssertMutable, 80
SetAppearanceChecked, 62 GetImmutable, 80
SetAppearanceUnchecked, 62 IsDirty, 80
SetChecked, 62 PdfDataType, 79
PoDoFo::PdfColor, 63 SetDirty, 80
∼PdfColor, 64 SetImmutable, 80
BuildColorSpace, 65 Write, 80
ConvertToCMYK, 65 PoDoFo::PdfDate, 81
ConvertToGrayScale, 65 ∼PdfDate, 83
ConvertToRGB, 65 GetTime, 83
FromArray, 66 IsValid, 83
FromString, 66 PdfDate, 81
GetAlternateColorSpace, 66 ToString, 83
GetBlack, 66 PoDoFo::PdfDestination, 83
GetBlue, 67 AddToDictionary, 85
GetCieA, 67 GetArray, 86
GetCieB, 67 GetDValue, 86
GetCieL, 67 GetLeft, 86
GetColorSpace, 68 GetObject, 86
GetColorSpaceForName, 68 GetPage, 86, 88
GetCyan, 68 GetRect, 88
GetDensity, 68 GetTop, 88
GetGrayScale, 69 GetType, 88
GetGreen, 69 GetZoom, 88
GetMagenta, 69 operator=, 88
GetName, 69 PdfDestination, 84, 85
GetNameForColorSpace, 70 PoDoFo::PdfDeviceInputStream, 89
GetRed, 70 PdfDeviceInputStream, 89
GetYellow, 70 Read, 89
IsCMYK, 71 PoDoFo::PdfDeviceOutputStream, 90
IsCieLab, 70 Close, 90

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


506 INDEX

PdfDeviceOutputStream, 90 GetNamedObjectFromCatalog, 112


Write, 90 GetNamesTree, 112
PoDoFo::PdfDictionary, 91 GetObjects, 112
∼PdfDictionary, 92 GetOutlines, 113
AddKey, 92 GetPage, 113
Clear, 92 GetPageCount, 113
GetKey, 92, 93 GetPageMode, 113
GetKeys, 93 GetPagesTree, 113
HasKey, 93 GetPdfVersion, 113
IsDirty, 93 GetTrailer, 114
operator!=, 94 GetWriteMode, 114
operator=, 94 InitPagesTree, 114
operator==, 94 InsertExistingPageAt, 114
PdfDictionary, 91 InsertPage, 114
RemoveKey, 94 IsAccessibilityAllowed, 116
SetDirty, 94 IsCopyAllowed, 116
Write, 95 IsDocAssemblyAllowed, 116
PoDoFo::PdfDifferenceEncoding, 95 IsEditAllowed, 116
AddToDictionary, 97 IsEditNotesAllowed, 117
ConvertToEncoding, 99 IsFillAndSignAllowed, 117
ConvertToUnicode, 99 IsHighPrintAllowed, 117
EBaseEncoding, 96 IsLinearized, 117
eBaseEncoding_Font, 96 IsPrintAllowed, 118
eBaseEncoding_MacExpert, 96 PdfDocument, 104
eBaseEncoding_MacRoman, 96 SetBaseURI, 118
eBaseEncoding_WinAnsi, 96 SetBindingDirection, 118
GetCharCode, 99 SetCatalog, 118
GetDifferences, 99 SetCenterWindow, 118
GetID, 100 SetDisplayDocTitle, 118
IsAutoDelete, 100 SetFitWindow, 118
IsSingleByteEncoding, 100 SetFontConfigWrapper, 119
NameToUnicodeID, 100 SetHideMenubar, 119
PdfDifferenceEncoding, 96, 97 SetHideToolbar, 119
UnicodeIDToName, 100 SetHideWindowUI, 119
PoDoFo::PdfDocEncoding, 101 SetInfo, 119
GetToUnicodeTable, 101 SetLanguage, 119
PdfDocEncoding, 101 SetPageLayout, 119
PoDoFo::PdfDocument, 102 SetPageMode, 119
∼PdfDocument, 104 SetPrintScaling, 119
AddNamedDestination, 104 SetTrailer, 119
Append, 104 SetUseFullScreen, 120
AttachFile, 104 SetViewerPreference, 120
Clear, 106 PoDoFo::PdfElement, 120
CreateDuplicateFontType1, 106 CreateObject, 122
CreateFont, 106, 107 GetNonConstObject, 123
CreateFontSubset, 107 GetObject, 123
CreatePage, 107 PdfElement, 122
CreatePages, 109 TypeNameForIndex, 123
EmbedSubsetFonts, 109 TypeNameToIndex, 123
FillXObjectFromDocumentPage, 109 PoDoFo::PdfEncoding, 124
FillXObjectFromExistingPage, 109 AddToDictionary, 126
FillXObjectFromPage, 109 begin, 126
FixObjectReferences, 111 ConvertToEncoding, 126
GetAcroForm, 111 ConvertToUnicode, 126
GetAttachment, 111 end, 127
GetCatalog, 111 GetCharCode, 127
GetFontLibrary, 112 GetFirstChar, 127
GetInfo, 112 GetID, 127

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 507

GetLastChar, 127 IsPrintAllowed, 140


operator<, 128 SetCurrentReference, 140
operator==, 128 SetEnabledEncryptionAlgorithms, 141
PdfEncoding, 125 PoDoFo::PdfEncryptAESBase, 141
PoDoFo::PdfEncodingDifference, 128 PoDoFo::PdfEncryptAESV2, 141
AddDifference, 129 Authenticate, 142
Contains, 129 CreateEncryptionInputStream, 142
GetCount, 129 CreateEncryptionOutputStream, 143
operator=, 129 GenerateEncryptionKey, 143
PdfEncodingDifference, 128 PoDoFo::PdfEncryptRC4, 143
ToArray, 130 Authenticate, 144
PoDoFo::PdfEncodingFactory, 130 CreateEncryptionInputStream, 144
FreeGlobalEncodingInstances, 130 CreateEncryptionOutputStream, 144
GlobalIdentityEncodingInstance, 130 GenerateEncryptionKey, 145
GlobalIso88592EncodingInstance, 130 PoDoFo::PdfEncryptRC4Base, 145
GlobalMacExpertEncodingInstance, 131 PoDoFo::PdfError, 145
GlobalMacRomanEncodingInstance, 131 AddToCallstack, 147
GlobalPdfDocEncodingInstance, 131 DebugEnabled, 147
GlobalStandardEncodingInstance, 131 DebugMessage, 147
GlobalSymbolEncodingInstance, 131 EnableDebug, 147
GlobalWin1250EncodingInstance, 131 EnableLogging, 147
GlobalWinAnsiEncodingInstance, 132 ErrorMessage, 148
GlobalZapfDingbatsEncodingInstance, 132 ErrorName, 148
PoDoFo::PdfEncodingObjectFactory, 132 GetCallstack, 148
CreateEncoding, 132 GetError, 148
PoDoFo::PdfEncrypt, 133 IsError, 148
∼PdfEncrypt, 136 LogMessage, 148, 150
Authenticate, 136 LoggingEnabled, 148
CreateEncryptionDictionary, 136 operator!=, 150
CreateEncryptionInputStream, 136 operator=, 150
CreateEncryptionOutputStream, 136 operator==, 151
CreatePdfEncrypt, 137 PdfError, 146, 147
EPdfEncryptAlgorithm, 135 PrintErrorMsg, 151
ePdfEncryptAlgorithm_AESV2, 135 SetError, 151
ePdfEncryptAlgorithm_RC4V1, 135 SetErrorInformation, 151, 152
ePdfEncryptAlgorithm_RC4V2, 135 SetLogMessageCallback, 152
EPdfKeyLength, 135 what, 152
EPdfPermissions, 135 PoDoFo::PdfExponentialFunction, 152
ePdfPermissions_Accessible, 136 PdfExponentialFunction, 153
ePdfPermissions_Copy, 135 PoDoFo::PdfExtGState, 154
ePdfPermissions_DocAssembly, 136 GetIdentifier, 155
ePdfPermissions_Edit, 135 PdfExtGState, 154
ePdfPermissions_EditNotes, 135 SetBlendMode, 155
ePdfPermissions_FillAndSign, 135 SetFillOpacity, 155
ePdfPermissions_HighPrint, 136 SetFillOverprint, 155
ePdfPermissions_Print, 135 SetFrequency, 155
Encrypt, 138 SetNonZeroOverprint, 155
GenerateEncryptionKey, 138 SetOverprint, 156
GetEnabledEncryptionAlgorithms, 138 SetRenderingIntent, 156
GetEncryptAlgorithm, 138 SetStrokeOpacity, 156
IsAccessibilityAllowed, 138 SetStrokeOverprint, 156
IsCopyAllowed, 138 PoDoFo::PdfExtension, 153
IsDocAssemblyAllowed, 139 PoDoFo::PdfFileInputStream, 156
IsEditAllowed, 139 GetFileLength, 157
IsEditNotesAllowed, 139 GetHandle, 157
IsEncryptionEnabled, 139 PdfFileInputStream, 157
IsFillAndSignAllowed, 140 Read, 157
IsHighPrintAllowed, 140 PoDoFo::PdfFileOutputStream, 157

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


508 INDEX

Close, 158 DecodeBlockImpl, 175


PdfFileOutputStream, 158 EncodeBlockImpl, 175
Write, 158 EndDecodeImpl, 176
PoDoFo::PdfFileSpec, 159 EndEncodeImpl, 176
GetFilename, 159 GetType, 176
PdfFileSpec, 159 PoDoFo::PdfFont, 176
PoDoFo::PdfFileStream, 159 AddUsedGlyphname, 178
AppendImpl, 161 AddUsedSubsettingGlyphs, 178
BeginAppendImpl, 162 EmbedFont, 178
EndAppendImpl, 162 EmbedSubsetFont, 179
GetCopy, 162 GetBaseFont, 179
GetInternalBuffer, 162 GetEncoding, 179
GetInternalBufferSize, 163 GetFontCharSpace, 179
GetLength, 163 GetFontMetrics, 179
PdfFileStream, 160 GetFontMetrics2, 179
SetEncrypted, 163 GetFontScale, 180
Write, 163 GetFontSize, 180
PoDoFo::PdfFilter, 163 GetIdentifier, 180
∼PdfFilter, 164 GetWordSpace, 180
BeginDecode, 164 IsBold, 180
BeginDecodeImpl, 165 IsItalic, 180
BeginEncode, 165 IsStrikeOut, 181
BeginEncodeImpl, 165 IsSubsetting, 181
CanDecode, 165 IsUnderlined, 181
CanEncode, 166 PdfFont, 178
Decode, 166 SetBold, 181
DecodeBlock, 166 SetFontCharSpace, 181
DecodeBlockImpl, 166 SetFontScale, 182
Encode, 167 SetFontSize, 182
EncodeBlock, 167 SetItalic, 182
EncodeBlockImpl, 167 SetStrikeOut, 182
EndDecode, 168 SetUnderlined, 182
EndDecodeImpl, 168 SetWordSpace, 182
EndEncode, 168 WriteStringToStream, 183
EndEncodeImpl, 168 PoDoFo::PdfFontCID, 187
FailEncodeDecode, 169 AddUsedSubsettingGlyphs, 189
GetType, 169 EmbedFont, 189
PdfFilter, 164 EmbedSubsetFont, 189
PoDoFo::PdfFilterFactory, 171 Init, 189
Create, 172 PdfFontCID, 188
CreateDecodeStream, 172 SetBold, 190
CreateEncodeStream, 172 SetItalic, 190
CreateFilterList, 173 PoDoFo::PdfFontCache, 183
FilterNameToType, 173 ∼PdfFontCache, 184
FilterTypeToName, 173 EFontCreationFlags, 184
PoDoFo::PdfFilteredDecodeStream, 169 eFontCreationFlags_AutoSelectBase14, 184
Close, 170 eFontCreationFlags_None, 184
PdfFilteredDecodeStream, 170 eFontCreationFlags_Type1Subsetting, 184
Write, 170 EmbedSubsetFonts, 184
PoDoFo::PdfFilteredEncodeStream, 170 EmptyCache, 184
Close, 171 GetDuplicateFontType1, 184
PdfFilteredEncodeStream, 171 GetFont, 186
Write, 171 GetFontLibrary, 187
PoDoFo::PdfFlateFilter, 174 GetFontSubset, 187
BeginDecodeImpl, 174 PdfFontCache, 184
BeginEncodeImpl, 174 SetFontConfigWrapper, 187
CanDecode, 175 PoDoFo::PdfFontConfigWrapper, 190
CanEncode, 175 GetFontConfig, 191

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 509

PdfFontConfigWrapper, 191 eFontFileType_TTC, 205


PoDoFo::PdfFontFactory, 191 eFontFileType_TTF, 205
CreateBase14Font, 191 eFontFileType_Unknown, 206
CreateFont, 192 PdfFontTTFSubset, 206
CreateFontObject, 192 PoDoFo::PdfFontTrueType, 204
GetFontType, 192 PdfFontTrueType, 204, 205
PoDoFo::PdfFontMetrics, 192 PoDoFo::PdfFontType1, 206
CharWidth, 194 AddUsedGlyphname, 208
CharWidthMM, 194 AddUsedSubsettingGlyphs, 208
FontTypeFromFilename, 194 EmbedFontFile, 208
GetAscent, 194 EmbedSubsetFont, 208
GetBoundingBox, 194 PdfFontType1, 207, 208
GetDescent, 195 PoDoFo::PdfFontType1Base14, 209
GetFilename, 195 EmbedFontFile, 210
GetFontCharSpace, 195 PdfFontType1Base14, 209
GetFontData, 195 PoDoFo::PdfFontType3, 210
GetFontDataLen, 195 PdfFontType3, 210, 211
GetFontScale, 195 PoDoFo::PdfFunction, 211
GetFontSize, 196 PdfFunction, 212
GetFontType, 196 PoDoFo::PdfFunctionBaseShadingPattern, 212
GetFontname, 195 PdfFunctionBaseShadingPattern, 213
GetGlyphId, 196 PoDoFo::PdfHexFilter, 213
GetGlyphWidth, 196 BeginDecodeImpl, 214
GetItalicAngle, 197 CanDecode, 214
GetLineSpacing, 197 CanEncode, 214
GetLineSpacingMM, 197 DecodeBlockImpl, 214
GetPdfAscent, 197 EncodeBlockImpl, 214
GetPdfDescent, 197 EndDecodeImpl, 215
GetStrikeOutPosition, 197 GetType, 215
GetStrikeOutPositionMM, 198 PoDoFo::PdfIdentityEncoding, 215
GetStrikeoutThickness, 198 AddToDictionary, 216
GetStrikeoutThicknessMM, 198 ConvertToEncoding, 216
GetSubsetFontnamePrefix, 198 ConvertToUnicode, 217
GetUnderlinePosition, 198 GetCharCode, 217
GetUnderlinePositionMM, 198 GetID, 217
GetUnderlineThickness, 198 IsAutoDelete, 217
GetUnderlineThicknessMM, 199 IsSingleByteEncoding, 218
GetWeight, 199 PdfIdentityEncoding, 216
GetWidthArray, 199 PoDoFo::PdfImage, 218
GetWordSpace, 199 GetHeight, 219
IsSymbol, 199 GetSupportedFormats, 219
SetFontCharSpace, 199 GetWidth, 220
SetFontScale, 200 LoadFromData, 220
SetFontSize, 200 LoadFromFile, 220
SetFontType, 200 PdfImage, 219
SetWordSpace, 200 SetImageChromaKeyMask, 220
StringWidth, 200, 201 SetImageColorSpace, 220
StringWidthMM, 201, 202 SetImageData, 221
UnicodeCharWidth, 202 SetImageDataRaw, 221
PoDoFo::PdfFontSimple, 202 SetImageICCProfile, 222
EmbedFont, 203 SetImageSoftmask, 222
EmbedFontFile, 203 SetInterpolate, 222
Init, 204 PoDoFo::PdfImmediateWriter, 222
PdfFontSimple, 203 GetPdfVersion, 223
PoDoFo::PdfFontTTFSubset, 205 GetWriteMode, 223
BuildFont, 206 PdfImmediateWriter, 223
EFontFileType, 205 PoDoFo::PdfInfo, 224
eFontFileType_OTF, 206 ∼PdfInfo, 225

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


510 INDEX

EPdfInfoInitial, 224 InsertItem, 236


ePdfInfoInitial_WriteCreationTime, 225 IsComboBox, 236
ePdfInfoInitial_WriteModificationTime, 225 IsMultiSelect, 236
ePdfInfoInitial_WriteProducer, 225 IsSorted, 236
GetAuthor, 225 IsSpellcheckingEnabled, 236
GetCreationDate, 225 PdfListField, 234, 235
GetCreator, 225 RemoveItem, 236
GetKeywords, 226 SetMultiSelect, 237
GetModDate, 226 SetSelectedItem, 237
GetProducer, 226 SetSorted, 237
GetSubject, 226 SetSpellcheckingEnabled, 237
GetTitle, 226 PoDoFo::PdfMacRomanEncoding, 240
GetTrapped, 226 GetToUnicodeTable, 241
PdfInfo, 225 PdfMacRomanEncoding, 241
SetAuthor, 226 PoDoFo::PdfMemDocument, 241
SetCreator, 227 ∼PdfMemDocument, 243
SetCustomKey, 227 AddPdfExtension, 243
SetKeywords, 227 DeletePages, 243
SetProducer, 227 FreeObjectMemory, 243, 244
SetSubject, 227 GetCatalog, 244
SetTitle, 227 GetEncrypt, 244
SetTrapped, 228 GetEncrypted, 244
PoDoFo::PdfInputDevice, 228 GetFont, 245
∼PdfInputDevice, 229 GetLanguage, 245
Bad, 229 GetMarkInfo, 245
Clear, 229 GetMetadata, 245
Close, 229 GetNamedObjectFromCatalog, 245
Eof, 229 GetObjects, 245, 246
GetChar, 230 GetPdfExtensions, 246
IsSeekable, 230 GetPdfVersion, 246
Look, 230 GetStructTreeRoot, 246
PdfInputDevice, 228, 229 GetTrailer, 246
Read, 230 GetWriteMode, 246
Seek, 230 HasPdfExtension, 246
SetSeekable, 230 InitFromParser, 248
Tell, 230 InsertPages, 248
PoDoFo::PdfInputStream, 231 IsAccessibilityAllowed, 248
Read, 231 IsCopyAllowed, 248
PoDoFo::PdfIso88592Encoding, 231 IsDocAssemblyAllowed, 248
GetToUnicodeTable, 232 IsEditAllowed, 249
PdfIso88592Encoding, 232 IsEditNotesAllowed, 249
PoDoFo::PdfLZWFilter, 237 IsFillAndSignAllowed, 249
BeginDecodeImpl, 238 IsHighPrintAllowed, 249
BeginEncodeImpl, 238 IsLinearized, 250
CanDecode, 238 IsLoaded, 250
CanEncode, 238 IsPrintAllowed, 250
DecodeBlockImpl, 239 Load, 250, 252
EncodeBlockImpl, 239 PdfMemDocument, 243
EndDecodeImpl, 239 RemovePdfExtension, 252
EndEncodeImpl, 239 SetEncrypted, 252
GetType, 240 SetPassword, 253
PoDoFo::PdfListBox, 232 SetPdfVersion, 253
PdfListBox, 233 SetWriteMode, 253
PoDoFo::PdfListField, 234 Write, 253
GetItem, 235 PoDoFo::PdfMemStream, 257
GetItemCount, 235 AppendImpl, 258
GetItemDisplayText, 235 BeginAppendImpl, 258
GetSelectedItem, 236 Empty, 260

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 511

EndAppendImpl, 260 PoDoFo::PdfObjectStreamParserObject, 279


FlateCompress, 260 PdfObjectStreamParserObject, 279
Get, 260 PoDoFo::PdfOutlineItem, 281
GetCopy, 260 CreateChild, 283
GetInternalBuffer, 261 CreateNext, 283
GetInternalBufferSize, 261 Erase, 283
GetLength, 261 First, 283
operator=, 261 GetAction, 283
PdfMemStream, 258 GetDestination, 283
Uncompress, 261 GetParentOutline, 284
Write, 262 GetTextColorBlue, 284
PoDoFo::PdfMemoryInputStream, 255 GetTextColorGreen, 284
PdfMemoryInputStream, 255 GetTextColorRed, 284
Read, 255 GetTextFormat, 284
PoDoFo::PdfMemoryOutputStream, 256 GetTitle, 285
Close, 256 InsertChild, 285
GetLength, 256 Last, 285
PdfMemoryOutputStream, 256 Next, 285
TakeBuffer, 257 PdfOutlineItem, 282
Write, 257 Prev, 285
PoDoFo::PdfName, 265 SetAction, 285
FromEscaped, 267 SetDestination, 285
GetEscapedName, 267 SetTextColor, 286
GetLength, 267 SetTextFormat, 286
GetName, 267 SetTitle, 286
operator!=, 268 PoDoFo::PdfOutlines, 286
operator<, 268 CreateRoot, 287
operator=, 268 PdfOutlines, 287
operator==, 268, 269 PoDoFo::PdfOutputDevice, 287
PdfName, 266, 267 ∼PdfOutputDevice, 289
Write, 269 Flush, 289
PoDoFo::PdfNamedColor, 269 GetLength, 289
∼PdfNamedColor, 271 PdfOutputDevice, 288, 289
GetColor, 271 Print, 289
GetName, 271 PrintV, 289
operator<, 271 PrintVLen, 290
operator==, 271 Read, 290
PdfNamedColor, 270, 271 Seek, 290
PoDoFo::PdfObject, 272 Tell, 290
DelayedStreamLoad, 276 Write, 291
DelayedStreamLoadImpl, 276 PoDoFo::PdfOutputStream, 291
EnableDelayedStreamLoading, 276 Close, 291
FlateCompressStream, 276 Write, 291, 292
GetByteOffset, 276 PoDoFo::PdfPage, 292
GetIndirectKey, 277 CreateAnnotation, 294
GetObjectLength, 277 CreateStandardPageSize, 295
GetOwner, 277 DeleteAnnotation, 295
GetStream, 277 GetAnnotation, 295
GetStream_NoDL, 278 GetArtBox, 296
HasStream, 278 GetBleedBox, 296
MustGetIndirectKey, 278 GetContents, 296
operator<, 278 GetContentsForAppending, 296
operator=, 278 GetCropBox, 296
operator==, 278 GetField, 296, 298
PdfObject, 273, 274, 276 GetFromResources, 298
Reference, 279 GetInheritedKey, 298
SetOwner, 279 GetMediaBox, 298
WriteObject, 279 GetNumAnnots, 298

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


512 INDEX

GetNumFields, 299 GetCurrentPath, 318


GetPageNumber, 299 GetFont, 318
GetPageSize, 299 GetMultiLineTextAsLines, 319
GetResources, 299 GetPage, 319
GetRotation, 299 GetPrecision, 319
GetTrimBox, 299 GetTabWidth, 319
PdfPage, 293 GetTextRenderingMode, 319
SetPageHeight, 300 HorizontalLineTo, 319
SetPageWidth, 300 LineTo, 320
SetRotation, 300 m_curColor, 332
SetTrimBox, 300 m_curPath, 332
PoDoFo::PdfPagesTree, 300 m_isTextOpen, 332
∼PdfPagesTree, 301 m_nTabWidth, 332
ClearCache, 301 m_oss, 332
CreatePage, 301 m_pCanvas, 332
CreatePages, 303 m_pFont, 333
DeletePage, 303 m_pPage, 333
GetPage, 303 MoveTextPos, 320
GetTotalNumberOfPages, 303 MoveTo, 320
InsertPage, 304 PdfPainter, 309
InsertPages, 304 QuadCurveTo, 320
PdfPagesTree, 301 Rectangle, 320, 322
PoDoFo::PdfPagesTreeCache, 305 Restore, 322
∼PdfPagesTreeCache, 305 Save, 322
AddPageObject, 305 SetClipRect, 322
AddPageObjects, 305 SetColor, 323
ClearCache, 306 SetColorCMYK, 323
DeletePage, 306 SetCurrentStrokingColor, 323
GetPage, 306 SetExtGState, 323
InsertPage, 306 SetFont, 323
InsertPages, 306 SetGray, 325
PdfPagesTreeCache, 305 SetLineCapStyle, 325
PoDoFo::PdfPainter, 307 SetLineJoinStyle, 325
AddText, 309 SetMiterLimit, 325
AddToPageResources, 310 SetPage, 325
ArcTo, 310 SetPrecision, 325
BeginText, 310 SetRenderingIntent, 327
Circle, 310 SetShadingPattern, 327
Clip, 312 SetStrokeStyle, 327
Close, 312 SetStrokeWidth, 327
ClosePath, 312 SetStrokingColor, 327
ConvertRectToBezier, 312 SetStrokingColorCMYK, 329
CubicBezierTo, 312 SetStrokingGray, 329
DrawGlyph, 313 SetStrokingShadingPattern, 329
DrawImage, 313 SetStrokingTilingPattern, 329
DrawLine, 313 SetTabWidth, 329
DrawMultiLineText, 313, 314 SetTextRenderingMode, 330
DrawText, 314 SetTilingPattern, 330
DrawTextAligned, 314 SetTransformationMatrix, 330
DrawXObject, 316 SmoothCurveTo, 330
Ellipse, 316 SmoothQuadCurveTo, 332
EndPath, 316 Stroke, 332
EndText, 316 VerticalLineTo, 332
ExpandTabs, 316 PoDoFo::PdfPainterMM, 333
Fill, 318 DrawImageMM, 334
FillAndStroke, 318 DrawLineMM, 334
FinishPage, 318 DrawTextMM, 334
GetCanvas, 318 DrawXObjectMM, 335

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 513

EllipseMM, 335 GetRolloverCaption, 349


LineToMM, 335 PdfPushButton, 348, 349
MoveToMM, 335 SetAlternateCaption, 349
PdfPainterMM, 334 SetRolloverCaption, 349
RectangleMM, 335 PoDoFo::PdfRLEFilter, 362
SetStrokeWidthMM, 336 BeginDecodeImpl, 363
PoDoFo::PdfParser, 336 BeginEncodeImpl, 363
∼PdfParser, 338 CanDecode, 363
CheckEOFMarker, 339 CanEncode, 363
FindToken, 339 DecodeBlockImpl, 364
FindToken2, 339 EncodeBlockImpl, 364
GetEncrypt, 339 EndEncodeImpl, 364
GetEncrypted, 339 GetType, 364
GetFileSize, 339 PoDoFo::PdfRadialShadingPattern, 349
GetIgnoreBrokenObjects, 339 PdfRadialShadingPattern, 350
GetLoadOnDemand, 339 PoDoFo::PdfRect, 351
GetMaxObjectCount, 340 FromArray, 352
GetNumberOfIncrementalUpdates, 340 GetBottom, 352
GetObjects, 340 GetHeight, 352
GetPdfVersion, 340 GetLeft, 352
GetPdfVersionString, 340 GetWidth, 352
GetTrailer, 340 Intersect, 352
HasLinearizationDict, 340 PdfRect, 351, 352
IsLinearized, 341 SetBottom, 353
IsPdfFile, 341 SetHeight, 353
IsStrictParsing, 341 SetLeft, 353
MergeTrailer, 341 SetWidth, 353
ParseFile, 341, 342 ToString, 353
PdfParser, 337, 338 ToVariant, 353
QuickEncryptedCheck, 342 PoDoFo::PdfRefCountedBuffer, 354
ReadDocumentStructure, 342 ∼PdfRefCountedBuffer, 355
ReadObjectFromStream, 342 GetBuffer, 355
ReadObjects, 342 GetSize, 355
ReadObjectsInternal, 343 operator<, 355
ReadTrailer, 343 operator>, 356
ReadXRef, 343 operator=, 355
ReadXRefContents, 343 operator==, 356
ReadXRefStreamContents, 343 PdfRefCountedBuffer, 354, 355
ReadXRefSubsection, 343 Resize, 356
SetIgnoreBrokenObjects, 344 SetTakePossesion, 356
SetMaxObjectCount, 344 TakePossesion, 356
SetPassword, 344 PoDoFo::PdfRefCountedInputDevice, 357
SetStrictParsing, 344 ∼PdfRefCountedInputDevice, 359
TakeEncrypt, 345 Device, 359
PoDoFo::PdfParserObject, 345 operator=, 359
DelayedLoadImpl, 346 PdfRefCountedInputDevice, 357
DelayedStreamLoadImpl, 346 PoDoFo::PdfReference, 359
FreeObjectMemory, 346 GenerationNumber, 360
HasStreamToParse, 347 IsIndirect, 360
IsLoadOnDemand, 347 ObjectNumber, 361
ParseFile, 347 operator!=, 361
ParseStream, 347 operator<, 361
PdfParserObject, 346 operator=, 361
SetLoadOnDemand, 347 operator==, 361
SetObjectNumber, 347 PdfReference, 360
PoDoFo::PdfPredictorDecoder, 348 SetGenerationNumber, 361
PoDoFo::PdfPushButton, 348 SetObjectNumber, 362
GetAlternateCaption, 349 ToString, 362

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


514 INDEX

Write, 362 SetForegroundColor, 383


PoDoFo::PdfSampledFunction, 365 SetText, 385
PdfSampledFunction, 365, 366 SetWordWrapEnabled, 385
PoDoFo::PdfShadingPattern, 366 PoDoFo::PdfStandardEncoding, 385
GetIdentifier, 367 GetToUnicodeTable, 386
PdfShadingPattern, 366, 367 PdfStandardEncoding, 386
PoDoFo::PdfSignOutputDevice, 369 PoDoFo::PdfStitchingFunction, 386
AdjustByteRange, 370 PdfStitchingFunction, 387
Flush, 370 PoDoFo::PdfStream, 387
GetLength, 370 Append, 388, 389
GetSignatureBeacon, 370 AppendImpl, 389
GetSignatureSize, 370 BeginAppend, 389, 390
Print, 371 BeginAppendImpl, 390
Read, 371 EndAppend, 390
ReadForSignature, 371 EndAppendImpl, 390
Seek, 371 GetCopy, 390, 391
SetSignature, 371 GetFilteredCopy, 391
SetSignatureSize, 371 GetInternalBuffer, 391
Tell, 373 GetInternalBufferSize, 391
Write, 373 GetLength, 392
PoDoFo::PdfSignatureField, 367 IsAppending, 392
AddCertificationReference, 368 operator=, 392
PdfSignatureField, 367 PdfStream, 388
SetSignature, 369 Set, 392, 393
SetSignatureDate, 369 SetRawData, 393
SetSignatureLocation, 369 Write, 393
SetSignatureReason, 369 PoDoFo::PdfStreamedDocument, 394
PoDoFo::PdfSimpleEncoding, 373 Close, 395
AddToDictionary, 374 GetPdfVersion, 395
ConvertToEncoding, 374 GetWriteMode, 395
ConvertToUnicode, 375 IsAccessibilityAllowed, 395
GetCharCode, 375 IsCopyAllowed, 396
GetID, 375 IsDocAssemblyAllowed, 396
GetName, 375 IsEditAllowed, 396
GetToUnicodeTable, 376 IsEditNotesAllowed, 396
IsAutoDelete, 376 IsFillAndSignAllowed, 397
IsSingleByteEncoding, 376 IsHighPrintAllowed, 397
PoDoFo::PdfSimpleTableModel, 376 IsLinearized, 397
GetAlignment, 378 IsPrintAllowed, 397
GetBackgroundColor, 379 PdfStreamedDocument, 395
GetBorderColor, 379 PoDoFo::PdfString, 398
GetBorderWidth, 379 GetBuffer, 402
GetFont, 379 GetCharacterLength, 402
GetForegroundColor, 379 GetLength, 402
GetImage, 381 GetString, 402
GetText, 381 GetStringUtf8, 402
GetVerticalAlignment, 381 GetUnicode, 403
HasBackgroundColor, 381 GetUnicodeLength, 403
HasBorders, 382 IsHex, 403
HasImage, 382 IsUnicode, 403
HasWordWrap, 382 IsValid, 404
PdfSimpleTableModel, 377 operator!=, 404
SetAlignment, 382, 383 operator<, 404
SetBackgroundColor, 383 operator>, 405
SetBackgroundEnabled, 383 operator=, 404
SetBorderEnabled, 383 operator==, 404
SetBorderWidth, 383 PdfString, 399, 400
SetFont, 383 SetHexData, 405

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 515

ToUnicode, 405 SetSpellcheckingEnabled, 420


Write, 405 SetText, 420
PoDoFo::PdfSymbolEncoding, 406 PoDoFo::PdfTilingPattern, 421
GetToUnicodeTable, 406 GetIdentifier, 422
PdfSymbolEncoding, 406 PdfTilingPattern, 421, 422
PoDoFo::PdfTable, 407 PoDoFo::PdfTokenizer, 422
CalculateTableSize, 408 DetermineDataType, 423
CheckForNewPage, 408 GetHexValue, 423
CreatePageCallback, 408 GetNextNumber, 424
Draw, 409 GetNextToken, 424
DrawHorizontalBorders, 409 GetNextVariant, 424, 425
GetAutoPageBreak, 409 HEX_NOT_FOUND, 427
GetCols, 409 IsDelimiter, 425
GetHeight, 409 IsNextToken, 425
GetModel, 411 IsPrintable, 425
GetRows, 411 IsRegular, 425
GetWidth, 411 IsWhitespace, 425
PdfTable, 408 QuequeToken, 426
SetAutoPageBreak, 411 ReadArray, 426
SetColumnWidth, 412 ReadDictionary, 426
SetColumnWidths, 412 ReadHexString, 426
SetModel, 412 ReadName, 426
SetRowHeight, 412 ReadString, 427
SetRowHeights, 412 PoDoFo::PdfTriangleShadingPattern, 427
SetTableHeight, 413 PdfTriangleShadingPattern, 427, 429
SetTableWidth, 413 PoDoFo::PdfType1Encrypt, 430
PoDoFo::PdfTableModel, 413 Decrypt, 431
GetAlignment, 414 Encrypt, 431
GetBackgroundColor, 414 PdfType1Encrypt, 431
GetBorderColor, 414 PoDoFo::PdfVariant, 431
GetBorderWidth, 414 AssertMutable, 435
GetFont, 414 Clear, 435
GetForegroundColor, 415 DelayedLoad, 435
GetImage, 415 DelayedLoadDone, 435
GetText, 415 DelayedLoadImpl, 435
GetVerticalAlignment, 415 EnableDelayedLoading, 435
HasBackgroundColor, 416 GetArray, 436
HasBorders, 416 GetArray_NoDL, 436
HasImage, 416 GetBool, 436
HasWordWrap, 416 GetDataType, 436
PoDoFo::PdfTextField, 417 GetDataTypeString, 436
GetMaxLen, 418 GetDictionary, 437
GetText, 418 GetDictionary_NoDL, 437
IsCombs, 418 GetImmutable, 437
IsFileField, 418 GetName, 437
IsMultiLine, 418 GetNumber, 437
IsPasswordField, 418 GetRawData, 438
IsRichText, 419 GetReal, 438
IsScrollBarsEnabled, 419 GetReference, 438
IsSpellcheckingEnabled, 419 GetString, 438
PdfTextField, 417, 418 IsArray, 438
SetCombs, 419 IsBool, 438
SetFileField, 419 IsDictionary, 439
SetMaxLen, 419 IsDirty, 439
SetMultiLine, 420 IsEmpty, 439
SetPasswordField, 420 IsHexString, 439
SetRichText, 420 IsName, 439
SetScrollBarsEnabled, 420 IsNull, 439

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


516 INDEX

IsNumber, 439 GetToUnicodeTable, 454


IsRawData, 439 PdfWin1250Encoding, 454
IsReal, 440 PoDoFo::PdfWinAnsiEncoding, 454
IsReference, 440 AddToDictionary, 455
IsString, 440 GetToUnicodeTable, 456
operator!=, 440 PdfWinAnsiEncoding, 455
operator=, 440 PoDoFo::PdfWriter, 456
operator==, 440 CreateFileIdentifier, 458
PdfVariant, 433–435 CreateLinearizationDictionary, 459
SetBool, 440 FillTrailerObject, 459
SetDirty, 441 GetByteOffset, 459
SetImmutable, 441 GetEncrypted, 459
SetNumber, 441 GetLinearized, 459
SetReal, 441 GetPdfVersion, 459
ToString, 441 GetPdfVersionString, 460
Write, 443 GetUseXRefStream, 460
PoDoFo::PdfVecObjects, 443 GetWriteMode, 460
AddFreeObject, 444 m_vecObjects, 462
Attach, 445 PdfWriter, 457
AutoDelete, 445 SetEncrypted, 460
begin, 445 SetLinearized, 460
BeginAppendStream, 445 SetPdfVersion, 460
Clear, 445 SetUseXRefStream, 460
CollectGarbage, 445 SetWriteMode, 461
CreateObject, 447 Write, 461
CreateStream, 447 WriteLinearized, 461
Detach, 447 WritePdfHeader, 461
end, 448 WritePdfObjects, 461
EndAppendStream, 448 WriteToBuffer, 461
Finish, 448 PoDoFo::PdfXObject, 462
GetBack, 448 GetContents, 464
GetFreeObjects, 448 GetContentsForAppending, 464
GetIndex, 448 GetIdentifier, 464
GetNextSubsetPrefix, 449 GetObjectReference, 465
GetObject, 449 GetPageSize, 465
GetObjectCount, 449 GetResources, 465
GetObjectDependencies, 449 PdfXObject, 463, 464
GetParentDocument, 449 PoDoFo::PdfXRef, 465
GetSize, 449 ∼PdfXRef, 466
insert_sorted, 449 AddObject, 466
PdfVecObjects, 444 BeginWrite, 466
push_back, 451 EndWrite, 467
RemoveObject, 451 GetOffset, 467
RenumberObjects, 451 GetSize, 467
Reserve, 451 PdfXRef, 466
SetAutoDelete, 453 SetFirstEmptyBlock, 467
SetObjectCount, 453 Write, 467
SetParentDocument, 453 WriteSubSection, 467
SetStreamFactory, 453 WriteXRefEntry, 467
Sort, 453 PoDoFo::PdfXRefStream, 469
WriteObject, 453 ∼PdfXRefStream, 469
PoDoFo::PdfVecObjects::Observer, 39 BeginWrite, 470
BeginAppendStream, 40 EndWrite, 470
EndAppendStream, 40 GetOffset, 470
ParentDestructed, 40 PdfXRefStream, 469
PoDoFo::PdfVecObjects::StreamFactory, 473 WriteSubSection, 470
CreateStream, 473 WriteXRefEntry, 470
PoDoFo::PdfWin1250Encoding, 453 PoDoFo::PdfXRefStreamParserObject, 471

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 517

GetPreviousOffset, 471 PoDoFo::PdfTokenizer, 426


HasPrevious, 472 ReadDictionary
PdfXRefStreamParserObject, 471 PoDoFo::PdfTokenizer, 426
PoDoFo::PdfZapfDingbatsEncoding, 472 ReadDocumentStructure
GetToUnicodeTable, 473 PoDoFo::PdfParser, 342
PdfZapfDingbatsEncoding, 472 ReadForSignature
PoDoFo::TFontCacheElement, 473 PoDoFo::PdfSignOutputDevice, 371
PoDoFo::Util::PdfMutexImpl, 263 ReadHexString
Lock, 263, 264 PoDoFo::PdfTokenizer, 426
PdfMutexImpl, 263 ReadName
TryLock, 264 PoDoFo::PdfTokenizer, 426
UnLock, 264 ReadNext
PoDoFo::Util::PdfMutexWrapper, 264 PoDoFo::PdfContentsTokenizer, 76
∼PdfMutexWrapper, 265 ReadObjectFromStream
PdfMutexWrapper, 265 PoDoFo::PdfParser, 342
podofo_calloc ReadObjects
PoDoFo, 37 PoDoFo::PdfParser, 342
podofo_free ReadObjectsInternal
PoDoFo, 37 PoDoFo::PdfParser, 343
podofo_is_little_endian ReadString
PoDoFo, 37 PoDoFo::PdfTokenizer, 427
podofo_malloc ReadTrailer
PoDoFo, 37 PoDoFo::PdfParser, 343
podofo_realloc ReadXRef
PoDoFo, 38 PoDoFo::PdfParser, 343
Prev ReadXRefContents
PoDoFo::PdfOutlineItem, 285 PoDoFo::PdfParser, 343
Print ReadXRefStreamContents
PoDoFo::PdfOutputDevice, 289 PoDoFo::PdfParser, 343
PoDoFo::PdfSignOutputDevice, 371 ReadXRefSubsection
PrintErrorMsg PoDoFo::PdfParser, 343
PoDoFo::PdfError, 151 Rectangle
PrintV PoDoFo::PdfPainter, 320, 322
PoDoFo::PdfOutputDevice, 289 RectangleMM
PrintVLen PoDoFo::PdfPainterMM, 335
PoDoFo::PdfOutputDevice, 290 Reference
push_back PoDoFo::PdfObject, 279
PoDoFo::PdfArray, 52 RemoveItem
PoDoFo::PdfVecObjects, 451 PoDoFo::PdfListField, 236
RemoveKey
QuadCurveTo PoDoFo::PdfDictionary, 94
PoDoFo::PdfPainter, 320 RemoveObject
QuequeToken PoDoFo::PdfVecObjects, 451
PoDoFo::PdfTokenizer, 426 RemovePdfExtension
QuickEncryptedCheck PoDoFo::PdfMemDocument, 252
PoDoFo::PdfParser, 342 rend
PoDoFo::PdfArray, 53
rbegin RenumberObjects
PoDoFo::PdfArray, 53 PoDoFo::PdfVecObjects, 451
Read Reserve
PoDoFo::NonPublic::PdfTTFWriter, 430 PoDoFo::PdfVecObjects, 451
PoDoFo::PdfDeviceInputStream, 89 Resize
PoDoFo::PdfFileInputStream, 157 PoDoFo::PdfRefCountedBuffer, 356
PoDoFo::PdfInputDevice, 230 resize
PoDoFo::PdfInputStream, 231 PoDoFo::PdfArray, 53
PoDoFo::PdfMemoryInputStream, 255 Restore
PoDoFo::PdfOutputDevice, 290 PoDoFo::PdfPainter, 322
PoDoFo::PdfSignOutputDevice, 371
ReadArray Save

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


518 INDEX

PoDoFo::PdfPainter, 322 PoDoFo::PdfAnnotation, 47, 48


Seek PoDoFo::PdfPainter, 323
PoDoFo::PdfInputDevice, 230 SetColorCMYK
PoDoFo::PdfOutputDevice, 290 PoDoFo::PdfPainter, 323
PoDoFo::PdfSignOutputDevice, 371 SetColumnWidth
Set PoDoFo::PdfTable, 412
PoDoFo::PdfStream, 392, 393 SetColumnWidths
SetAction PoDoFo::PdfTable, 412
PoDoFo::PdfAnnotation, 46 SetCombs
PoDoFo::PdfOutlineItem, 285 PoDoFo::PdfTextField, 419
SetAlignment SetContents
PoDoFo::PdfSimpleTableModel, 382, 383 PoDoFo::PdfAnnotation, 48
SetAlternateCaption SetCreator
PoDoFo::PdfPushButton, 349 PoDoFo::PdfInfo, 227
SetAppearanceChecked SetCurrentReference
PoDoFo::PdfCheckBox, 62 PoDoFo::PdfEncrypt, 140
SetAppearanceStream SetCurrentStrokingColor
PoDoFo::PdfAnnotation, 46 PoDoFo::PdfPainter, 323
SetAppearanceUnchecked SetCustomKey
PoDoFo::PdfCheckBox, 62 PoDoFo::PdfInfo, 227
SetAuthor SetDestination
PoDoFo::PdfInfo, 226 PoDoFo::PdfAnnotation, 48
SetAutoDelete PoDoFo::PdfOutlineItem, 285
PoDoFo::PdfVecObjects, 453 SetDirty
SetAutoPageBreak PoDoFo::PdfArray, 53
PoDoFo::PdfTable, 411 PoDoFo::PdfDataType, 80
SetBackgroundColor PoDoFo::PdfDictionary, 94
PoDoFo::PdfSimpleTableModel, 383 PoDoFo::PdfVariant, 441
SetBackgroundEnabled SetDisplayDocTitle
PoDoFo::PdfSimpleTableModel, 383 PoDoFo::PdfDocument, 118
SetBaseURI SetEditable
PoDoFo::PdfDocument, 118 PoDoFo::PdfComboBox, 73
SetBindingDirection SetEnabledEncryptionAlgorithms
PoDoFo::PdfDocument, 118 PoDoFo::PdfEncrypt, 141
SetBlendMode SetEncrypted
PoDoFo::PdfExtGState, 155 PoDoFo::PdfFileStream, 163
SetBold PoDoFo::PdfMemDocument, 252
PoDoFo::PdfFont, 181 PoDoFo::PdfWriter, 460
PoDoFo::PdfFontCID, 190 SetError
SetBool PoDoFo::PdfError, 151
PoDoFo::PdfVariant, 440 SetErrorInformation
SetBorderEnabled PoDoFo::PdfError, 151, 152
PoDoFo::PdfSimpleTableModel, 383 SetExtGState
SetBorderStyle PoDoFo::PdfPainter, 323
PoDoFo::PdfAnnotation, 47 SetFileAttachement
SetBorderWidth PoDoFo::PdfAnnotation, 48
PoDoFo::PdfSimpleTableModel, 383 SetFileField
SetBottom PoDoFo::PdfTextField, 419
PoDoFo::PdfRect, 353 SetFillOpacity
SetCatalog PoDoFo::PdfExtGState, 155
PoDoFo::PdfDocument, 118 SetFillOverprint
SetCenterWindow PoDoFo::PdfExtGState, 155
PoDoFo::PdfDocument, 118 SetFirstEmptyBlock
SetChecked PoDoFo::PdfXRef, 467
PoDoFo::PdfCheckBox, 62 SetFitWindow
SetClipRect PoDoFo::PdfDocument, 118
PoDoFo::PdfPainter, 322 SetFlags
SetColor PoDoFo::PdfAnnotation, 48

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 519

SetFont PoDoFo::PdfFontCID, 190


PoDoFo::PdfPainter, 323 SetKeywords
PoDoFo::PdfSimpleTableModel, 383 PoDoFo::PdfInfo, 227
SetFontCharSpace SetLanguage
PoDoFo::PdfFont, 181 PoDoFo::PdfDocument, 119
PoDoFo::PdfFontMetrics, 199 SetLeft
SetFontConfigWrapper PoDoFo::PdfRect, 353
PoDoFo::PdfDocument, 119 SetLineCapStyle
PoDoFo::PdfFontCache, 187 PoDoFo::PdfPainter, 325
SetFontScale SetLineJoinStyle
PoDoFo::PdfFont, 182 PoDoFo::PdfPainter, 325
PoDoFo::PdfFontMetrics, 200 SetLinearized
SetFontSize PoDoFo::PdfWriter, 460
PoDoFo::PdfFont, 182 SetLoadOnDemand
PoDoFo::PdfFontMetrics, 200 PoDoFo::PdfParserObject, 347
SetFontType SetLogMessageCallback
PoDoFo::PdfFontMetrics, 200 PoDoFo::PdfError, 152
SetForegroundColor SetMaxLen
PoDoFo::PdfSimpleTableModel, 383 PoDoFo::PdfTextField, 419
SetFrequency SetMaxObjectCount
PoDoFo::PdfExtGState, 155 PoDoFo::PdfParser, 344
SetGenerationNumber SetMiterLimit
PoDoFo::PdfReference, 361 PoDoFo::PdfPainter, 325
SetGray SetModel
PoDoFo::PdfPainter, 325 PoDoFo::PdfTable, 412
SetHeight SetMultiLine
PoDoFo::PdfRect, 353 PoDoFo::PdfTextField, 420
SetHexData SetMultiSelect
PoDoFo::PdfString, 405 PoDoFo::PdfListField, 237
SetHideMenubar SetNonZeroOverprint
PoDoFo::PdfDocument, 119 PoDoFo::PdfExtGState, 155
SetHideToolbar SetNumber
PoDoFo::PdfDocument, 119 PoDoFo::PdfVariant, 441
SetHideWindowUI SetObjectCount
PoDoFo::PdfDocument, 119 PoDoFo::PdfVecObjects, 453
SetIgnoreBrokenObjects SetObjectNumber
PoDoFo::PdfParser, 344 PoDoFo::PdfParserObject, 347
SetImageChromaKeyMask PoDoFo::PdfReference, 362
PoDoFo::PdfImage, 220 SetOpen
SetImageColorSpace PoDoFo::PdfAnnotation, 48
PoDoFo::PdfImage, 220 SetOverprint
SetImageData PoDoFo::PdfExtGState, 156
PoDoFo::PdfImage, 221 SetOwner
SetImageDataRaw PoDoFo::PdfObject, 279
PoDoFo::PdfImage, 221 SetPage
SetImageICCProfile PoDoFo::PdfPainter, 325
PoDoFo::PdfImage, 222 SetPageHeight
SetImageSoftmask PoDoFo::PdfPage, 300
PoDoFo::PdfImage, 222 SetPageLayout
SetImmutable PoDoFo::PdfDocument, 119
PoDoFo::PdfDataType, 80 SetPageMode
PoDoFo::PdfVariant, 441 PoDoFo::PdfDocument, 119
SetInfo SetPageWidth
PoDoFo::PdfDocument, 119 PoDoFo::PdfPage, 300
SetInterpolate SetParentDocument
PoDoFo::PdfImage, 222 PoDoFo::PdfVecObjects, 453
SetItalic SetPassword
PoDoFo::PdfFont, 182 PoDoFo::PdfMemDocument, 253

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


520 INDEX

PoDoFo::PdfParser, 344 PoDoFo::PdfParser, 344


SetPasswordField SetStrikeOut
PoDoFo::PdfTextField, 420 PoDoFo::PdfFont, 182
SetPdfVersion SetStrokeOpacity
PoDoFo::PdfMemDocument, 253 PoDoFo::PdfExtGState, 156
PoDoFo::PdfWriter, 460 SetStrokeOverprint
SetPrecision PoDoFo::PdfExtGState, 156
PoDoFo::PdfPainter, 325 SetStrokeStyle
SetPrintScaling PoDoFo::PdfPainter, 327
PoDoFo::PdfDocument, 119 SetStrokeWidth
SetProducer PoDoFo::PdfPainter, 327
PoDoFo::PdfInfo, 227 SetStrokeWidthMM
SetQuadPoints PoDoFo::PdfPainterMM, 336
PoDoFo::PdfAnnotation, 49 SetStrokingColor
SetRawData PoDoFo::PdfPainter, 327
PoDoFo::PdfStream, 393 SetStrokingColorCMYK
SetReal PoDoFo::PdfPainter, 329
PoDoFo::PdfVariant, 441 SetStrokingGray
SetRenderingIntent PoDoFo::PdfPainter, 329
PoDoFo::PdfExtGState, 156 SetStrokingShadingPattern
PoDoFo::PdfPainter, 327 PoDoFo::PdfPainter, 329
SetRichText SetStrokingTilingPattern
PoDoFo::PdfTextField, 420 PoDoFo::PdfPainter, 329
SetRolloverCaption SetSubject
PoDoFo::PdfPushButton, 349 PoDoFo::PdfInfo, 227
SetRotation SetTabWidth
PoDoFo::PdfPage, 300 PoDoFo::PdfPainter, 329
SetRowHeight SetTableHeight
PoDoFo::PdfTable, 412 PoDoFo::PdfTable, 413
SetRowHeights SetTableWidth
PoDoFo::PdfTable, 412 PoDoFo::PdfTable, 413
SetScrollBarsEnabled SetTakePossesion
PoDoFo::PdfTextField, 420 PoDoFo::PdfRefCountedBuffer, 356
SetSeekable SetText
PoDoFo::PdfInputDevice, 230 PoDoFo::PdfSimpleTableModel, 385
SetSelectedItem PoDoFo::PdfTextField, 420
PoDoFo::PdfListField, 237 SetTextColor
SetShadingPattern PoDoFo::PdfOutlineItem, 286
PoDoFo::PdfPainter, 327 SetTextFormat
SetSignature PoDoFo::PdfOutlineItem, 286
PoDoFo::PdfSignOutputDevice, 371 SetTextRenderingMode
PoDoFo::PdfSignatureField, 369 PoDoFo::PdfPainter, 330
SetSignatureDate SetTilingPattern
PoDoFo::PdfSignatureField, 369 PoDoFo::PdfPainter, 330
SetSignatureLocation SetTitle
PoDoFo::PdfSignatureField, 369 PoDoFo::PdfAnnotation, 49
SetSignatureReason PoDoFo::PdfInfo, 227
PoDoFo::PdfSignatureField, 369 PoDoFo::PdfOutlineItem, 286
SetSignatureSize SetTrailer
PoDoFo::PdfSignOutputDevice, 371 PoDoFo::PdfDocument, 119
SetSorted SetTransformationMatrix
PoDoFo::PdfListField, 237 PoDoFo::PdfPainter, 330
SetSpellcheckingEnabled SetTrapped
PoDoFo::PdfListField, 237 PoDoFo::PdfInfo, 228
PoDoFo::PdfTextField, 420 SetTrimBox
SetStreamFactory PoDoFo::PdfPage, 300
PoDoFo::PdfVecObjects, 453 SetURI
SetStrictParsing PoDoFo::PdfAction, 42

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


INDEX 521

SetUnderlined TypeNameForIndex
PoDoFo::PdfFont, 182 PoDoFo::PdfElement, 123
SetUseFullScreen TypeNameToIndex
PoDoFo::PdfDocument, 120 PoDoFo::PdfElement, 123
SetUseXRefStream
PoDoFo::PdfWriter, 460 UnLock
SetViewerPreference PoDoFo::Util::PdfMutexImpl, 264
PoDoFo::PdfDocument, 120 Uncompress
SetWidth PoDoFo::PdfMemStream, 261
PoDoFo::PdfRect, 353 UnicodeCharWidth
SetWordSpace PoDoFo::PdfFontMetrics, 202
PoDoFo::PdfFont, 182 UnicodeIDToName
PoDoFo::PdfFontMetrics, 200 PoDoFo::PdfDifferenceEncoding, 100
SetWordWrapEnabled
PoDoFo::PdfSimpleTableModel, 385 VerticalLineTo
SetWriteMode PoDoFo::PdfPainter, 332
PoDoFo::PdfMemDocument, 253
PoDoFo::PdfWriter, 461 what
size PoDoFo::PdfError, 152
PoDoFo::PdfArray, 53 Write
SmoothCurveTo PoDoFo::NonPublic::PdfTTFWriter, 430
PoDoFo::PdfPainter, 330 PoDoFo::PdfArray, 54
SmoothQuadCurveTo PoDoFo::PdfBufferOutputStream, 59
PoDoFo::PdfPainter, 332 PoDoFo::PdfData, 78
Sort PoDoFo::PdfDataType, 80
PoDoFo::PdfVecObjects, 453 PoDoFo::PdfDeviceOutputStream, 90
StringWidth PoDoFo::PdfDictionary, 95
PoDoFo::PdfFontMetrics, 200, 201 PoDoFo::PdfFileOutputStream, 158
StringWidthMM PoDoFo::PdfFileStream, 163
PoDoFo::PdfFontMetrics, 201, 202 PoDoFo::PdfFilteredDecodeStream, 170
Stroke PoDoFo::PdfFilteredEncodeStream, 171
PoDoFo::PdfPainter, 332 PoDoFo::PdfMemDocument, 253
Subset PoDoFo::PdfMemStream, 262
PoDoFo::NonPublic::PdfTTFWriter, 430 PoDoFo::PdfMemoryOutputStream, 257
PoDoFo::PdfName, 269
TakeBuffer PoDoFo::PdfOutputDevice, 291
PoDoFo::PdfMemoryOutputStream, 257 PoDoFo::PdfOutputStream, 291, 292
TakeEncrypt PoDoFo::PdfReference, 362
PoDoFo::PdfParser, 345 PoDoFo::PdfSignOutputDevice, 373
TakePossesion PoDoFo::PdfStream, 393
PoDoFo::PdfRefCountedBuffer, 356 PoDoFo::PdfString, 405
Tell PoDoFo::PdfVariant, 443
PoDoFo::PdfInputDevice, 230 PoDoFo::PdfWriter, 461
PoDoFo::PdfOutputDevice, 290 PoDoFo::PdfXRef, 467
PoDoFo::PdfSignOutputDevice, 373 WriteLinearized
ToArray PoDoFo::PdfWriter, 461
PoDoFo::PdfColor, 72 WriteObject
PoDoFo::PdfEncodingDifference, 130 PoDoFo::PdfObject, 279
ToString PoDoFo::PdfVecObjects, 453
PoDoFo::PdfDate, 83 WritePdfHeader
PoDoFo::PdfRect, 353 PoDoFo::PdfWriter, 461
PoDoFo::PdfReference, 362 WritePdfObjects
PoDoFo::PdfVariant, 441 PoDoFo::PdfWriter, 461
ToUnicode WriteStringToStream
PoDoFo::PdfString, 405 PoDoFo::PdfFont, 183
ToVariant WriteSubSection
PoDoFo::PdfRect, 353 PoDoFo::PdfXRef, 467
TryLock PoDoFo::PdfXRefStream, 470
PoDoFo::Util::PdfMutexImpl, 264 WriteToBuffer

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen


522 INDEX

PoDoFo::PdfWriter, 461
WriteXRefEntry
PoDoFo::PdfXRef, 467
PoDoFo::PdfXRefStream, 470

Generated on Tue Jun 14 2016 21:04:30 for PoDoFo by Doxygen

You might also like