PoDoFo  1.0.0-dev
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
PdfDeclarations.h File Reference

SPDX-FileCopyrightText: (C) 2005 Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de SPDX-FileCopyrightText: (C) 2020 Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om SPDX-License-Identifier: LGPL-2.0-or-later. More...

#include <podofo/auxiliary/basedefs.h>
#include <podofo/auxiliary/baseincludes.h>
#include <podofo/auxiliary/Version.h>

Go to the source code of this file.

Namespaces

 PoDoFo
 SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om SPDX-License-Identifier: LGPL-2.0-or-later SPDX-License-Identifier: MPL-2.0.
 

Macros

#define FORWARD_DECLARE_FCONFIG()
 
#define FORWARD_DECLARE_FREETYPE()
 

Typedefs

using PoDoFo::Matrix2D = std::array< double, 6 >
 
using PoDoFo::CIDToGIDMap = std::map< unsigned, unsigned >
 A backing storage for a CID to GID map. More...
 
using PoDoFo::PdfFilterList = std::vector< PdfFilterType >
 

Enumerations

enum class  PoDoFo::PdfLogSeverity : uint8_t {
  PoDoFo::None = 0 , PoDoFo::Error , PoDoFo::Warning , PoDoFo::Information ,
  PoDoFo::Debug
}
 Used in PoDoFo::LogMessage to specify the log level. More...
 
enum class  PoDoFo::PdfVersion : uint8_t {
  Unknown = 0 , PoDoFo::V1_0 = 10 , PoDoFo::V1_1 = 11 , PoDoFo::V1_2 = 12 ,
  PoDoFo::V1_3 = 13 , PoDoFo::V1_4 = 14 , PoDoFo::V1_5 = 15 , PoDoFo::V1_6 = 16 ,
  PoDoFo::V1_7 = 17 , PoDoFo::V2_0 = 20
}
 Enum to identify different versions of the PDF file format. More...
 
enum class  PdfALevel : uint8_t {
  Unknown = 0 , L1B , L1A , L2B ,
  L2A , L2U , L3B , L3A ,
  L3U , L4E , L4F
}
 
enum class  PoDoFo::PdfStringCharset : uint8_t { PoDoFo::Unknown = 0 , PoDoFo::Ascii , PoDoFo::PdfDocEncoding , PoDoFo::Unicode }
 
enum class  PoDoFo::PdfEncodingMapType : uint8_t { PoDoFo::Indeterminate = 0 , PoDoFo::Simple , PoDoFo::CMap }
 
enum class  PoDoFo::PdfPredefinedEncodingType : uint8_t { PoDoFo::Indeterminate = 0 , PoDoFo::LegacyPredefined , PoDoFo::PredefinedCMap , PoDoFo::IdentityCMap }
 
enum class  PdfWModeKind : uint8_t { Horizontal = 0 , Vertical = 1 }
 
enum class  PoDoFo::PdfWriteFlags {
  None = 0 , PoDoFo::Clean = 1 , PoDoFo::NoInlineLiteral = 2 , NoFlateCompress = 4 ,
  PoDoFo::PdfAPreserve = 8 , PoDoFo::SkipDelimiters = 16
}
 Specify additional options for writing the PDF. More...
 
enum class  PoDoFo::PdfDataType : uint8_t {
  PoDoFo::Unknown = 0 , PoDoFo::Bool , PoDoFo::Number , PoDoFo::Real ,
  PoDoFo::String , PoDoFo::Name , PoDoFo::Array , PoDoFo::Dictionary ,
  PoDoFo::Null , PoDoFo::Reference , PoDoFo::RawData
}
 Every PDF datatype that can occur in a PDF file is referenced by an own enum (e.g. More...
 
enum class  PoDoFo::PdfTextExtractFlags {
  None = 0 , IgnoreCase = 1 , KeepWhiteTokens = 2 , TokenizeWords = 4 ,
  MatchWholeWord = 8 , RegexPattern = 16 , PoDoFo::ComputeBoundingBox = 32 , RawCoordinates = 64 ,
  PoDoFo::ExtractSubstring = 128
}
 
enum class  PdfXObjectType : uint8_t { Unknown = 0 , Form , Image , PostScript }
 
enum class  PoDoFo::PdfFilterType : uint8_t {
  PoDoFo::None = 0 , PoDoFo::ASCIIHexDecode , PoDoFo::ASCII85Decode , LZWDecode ,
  PoDoFo::FlateDecode , PoDoFo::RunLengthDecode , CCITTFaxDecode , JBIG2Decode ,
  DCTDecode , JPXDecode , Crypt
}
 Every filter that can be used to encode a stream in a PDF file is referenced by an own enum value. More...
 
enum class  PoDoFo::PdfExportFormat { PoDoFo::Png = 1 , Jpeg = 2 }
 
enum class  PoDoFo::PdfFontDescriptorFlags : uint32_t {
  None = 0 , FixedPitch = 1 << 0 , Serif = 1 << 1 , PoDoFo::Symbolic = 1 << 2 ,
  Script = 1 << 3 , PoDoFo::NonSymbolic = 1 << 5 , PoDoFo::Italic = 1 << 6 , AllCap = 1 << 16 ,
  SmallCap = 1 << 17 , PoDoFo::ForceBold = 1 << 18
}
 Enum for the font descriptor flags. More...
 
enum class  PdfFontStretch : uint8_t {
  Unknown = 0 , UltraCondensed , ExtraCondensed , Condensed ,
  SemiCondensed , Normal , SemiExpanded , Expanded ,
  ExtraExpanded , UltraExpanded
}
 
enum class  PoDoFo::PdfFontType : uint8_t {
  Unknown = 0 , Type1 , Type3 , TrueType ,
  PoDoFo::CIDCFF , PoDoFo::CIDTrueType
}
 Enum specifying the type of the font. More...
 
enum class  PoDoFo::PdfFontFileType : uint8_t {
  Unknown = 0 , Type1 , PoDoFo::Type1CFF , PoDoFo::CIDKeyedCFF ,
  Type3 , PoDoFo::TrueType , PoDoFo::OpenTypeCFF
}
 
enum class  PoDoFo::PdfFontStyle : uint8_t { None = 0 , Italic = 1 , Bold = 2 , Regular = None }
 Font style flags used during searches.
 
enum class  PoDoFo::PdfGlyphAccess : uint8_t { PoDoFo::Width = 1 , PoDoFo::FontProgram = 2 }
 When accessing a glyph, there may be a difference in the glyph ID to retrieve the width or to index it within the font program. More...
 
enum class  PoDoFo::PdfFontAutoSelectBehavior : uint8_t { PoDoFo::None = 0 , PoDoFo::Standard14 = 1 , PoDoFo::Standard14Alt = 2 }
 Flags to control font creation. More...
 
enum class  PoDoFo::PdfFontCreateFlags { PoDoFo::None = 0 , PoDoFo::DontEmbed = 1 , PoDoFo::DontSubset = 2 , PoDoFo::PreferNonCID = 4 }
 Font init flags. More...
 
enum class  PoDoFo::PdfFontMatchBehaviorFlags : uint8_t { None , PoDoFo::NormalizePattern = 1 , PoDoFo::SkipMatchPostScriptName = 2 }
 
enum class  PoDoFo::PdfColorSpaceType : uint8_t {
  Unknown = 0 , DeviceGray , DeviceRGB , DeviceCMYK ,
  CalGray , CalRGB , PoDoFo::Lab , ICCBased ,
  Indexed , Pattern , Separation , DeviceN
}
 Enum for the colorspaces supported by PDF. More...
 
enum class  PoDoFo::PdfPixelFormat {
  Unknown = 0 , Grayscale , RGB24 , BGR24 ,
  PoDoFo::RGBA , PoDoFo::BGRA , ARGB , PoDoFo::ABGR
}
 
enum class  PoDoFo::PdfTextRenderingMode {
  PoDoFo::Fill = 0 , PoDoFo::Stroke , PoDoFo::FillStroke , PoDoFo::Invisible ,
  PoDoFo::FillAddToClipPath , PoDoFo::StrokeAddToClipPath , PoDoFo::FillStrokeAddToClipPath , PoDoFo::AddToClipPath
}
 Enum for text rendering mode (Tr) More...
 
enum class  PoDoFo::PdfStrokeStyle {
  Solid , Dash , Dot , DashDot ,
  DashDotDot
}
 Enum for the different stroke styles that can be set when drawing to a PDF file (mostly for line drawing).
 
enum class  PoDoFo::PdfInfoInitial { None = 0 , PoDoFo::WriteCreationTime = 1 , PoDoFo::WriteModificationTime = 2 , PoDoFo::WriteProducer = 4 }
 Enum to specify the initial information of the info dictionary. More...
 
enum class  PoDoFo::PdfLineCapStyle { Butt = 0 , Round = 1 , Square = 2 }
 Enum for line cap styles when drawing.
 
enum class  PoDoFo::PdfLineJoinStyle { Miter = 0 , Round = 1 , Bevel = 2 }
 Enum for line join styles when drawing.
 
enum class  PoDoFo::PdfVerticalAlignment { Top = 0 , Center = 1 , Bottom = 2 }
 Enum for vertical text alignment.
 
enum class  PoDoFo::PdfHorizontalAlignment { Left = 0 , Center = 1 , Right = 2 }
 Enum for text alignment.
 
enum class  PoDoFo::PdfSaveOptions {
  None = 0 , _Reserved1 = 1 , _Reserved2 = 2 , PoDoFo::NoFlateCompress = 4 ,
  NoCollectGarbage = 8 , PoDoFo::NoMetadataUpdate = 16 , Clean = 32 , PoDoFo::SaveOnSigning = 64 ,
  PoDoFo::NoModifyDateUpdate = NoMetadataUpdate
}
 
enum class  PoDoFo::PdfPageSize {
  Unknown = 0 , PoDoFo::A0 , PoDoFo::A1 , PoDoFo::A2 ,
  PoDoFo::A3 , PoDoFo::A4 , PoDoFo::A5 , PoDoFo::A6 ,
  PoDoFo::Letter , PoDoFo::Legal , PoDoFo::Tabloid
}
 Enum holding the supported page sizes by PoDoFo. More...
 
enum class  PoDoFo::PdfPageMode {
  DontCare , UseNone , UseThumbs , UseBookmarks ,
  FullScreen , UseOC , UseAttachments
}
 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. More...
 
enum class  PoDoFo::PdfPageLayout {
  Ignore , Default , SinglePage , OneColumn ,
  TwoColumnLeft , TwoColumnRight , TwoPageLeft , TwoPageRight
}
 Enum holding the supported of types of "PageLayouts" that define how Acrobat will display the pages in relation to each other. More...
 
enum class  PdfStandard14FontType {
  Unknown = 0 , TimesRoman , TimesItalic , TimesBold ,
  TimesBoldItalic , Helvetica , HelveticaOblique , HelveticaBold ,
  HelveticaBoldOblique , Courier , CourierOblique , CourierBold ,
  CourierBoldOblique , Symbol , ZapfDingbats
}
 
enum class  PoDoFo::PdfAnnotationType : uint8_t {
  Unknown = 0 , Text , Link , FreeText ,
  Line , Square , Circle , Polygon ,
  PolyLine , Highlight , Underline , Squiggly ,
  StrikeOut , Stamp , Caret , Ink ,
  Popup , FileAttachement , Sound , Movie ,
  Widget , Screen , PrinterMark , TrapNet ,
  Watermark , Model3D , RichMedia , WebMedia ,
  Redact , Projection
}
 The type of the annotation. More...
 
enum class  PoDoFo::PdfAnnotationFlags : uint32_t {
  None = 0x0000 , Invisible = 0x0001 , Hidden = 0x0002 , Print = 0x0004 ,
  NoZoom = 0x0008 , NoRotate = 0x0010 , NoView = 0x0020 , ReadOnly = 0x0040 ,
  Locked = 0x0080 , ToggleNoView = 0x0100 , LockedContents = 0x0200
}
 Flags that control the appearance of a PdfAnnotation. More...
 
enum class  PoDoFo::PdfFieldType : uint32_t {
  Unknown = 0 , PushButton , CheckBox , RadioButton ,
  TextBox , ComboBox , ListBox , Signature
}
 The type of PDF field.
 
enum class  PoDoFo::PdfHighlightingMode {
  Unknown = 0 , PoDoFo::None , PoDoFo::Invert , PoDoFo::InvertOutline ,
  PoDoFo::Push
}
 The possible highlighting modes for a PdfField. More...
 
enum class  PdfFieldFlags : uint8_t { ReadOnly = 1 , Required = 2 , NoExport = 4 }
 
enum class  PoDoFo::PdfAppearanceType { PoDoFo::Normal = 0 , PoDoFo::Rollover , PoDoFo::Down }
 Type of the annotation appearance. More...
 
enum class  PdfResourceType {
  Unknown = 0 , ExtGState , ColorSpace , Pattern ,
  Shading , XObject , Font , Properties
}
 
enum class  PdfKnownNameTree {
  Unknown = 0 , Dests , AP , JavaScript ,
  Pages , Templates , IDS , URLS ,
  EmbeddedFiles , AlternatePresentations , Renditions
}
 
enum class  PoDoFo::PdfOperator {
  Unknown = 0 , w , J , j ,
  M , d , ri , i ,
  gs , q , Q , cm ,
  m , l , c , v ,
  y , h , re , S ,
  s , f , F , f_Star ,
  B , B_Star , b , b_Star ,
  n , W , W_Star , BT ,
  ET , Tc , Tw , Tz ,
  TL , Tf , Tr , Ts ,
  Td , TD , Tm , T_Star ,
  Tj , TJ , Quote , DoubleQuote ,
  d0 , d1 , CS , cs ,
  SC , SCN , sc , scn ,
  G , g , RG , rg ,
  K , k , sh , BI ,
  ID , EI , Do , MP ,
  DP , BMC , BDC , EMC ,
  BX , EX
}
 List of PDF stream content operators.
 
enum class  PoDoFo::PdfRenderingIntent {
  Unknown = 0 , AbsoluteColorimetric , RelativeColorimetric , Perceptual ,
  Saturation
}
 List of defined Rendering intents.
 
enum class  PoDoFo::PdfBlendMode {
  Unknown = 0 , Normal , Multiply , Screen ,
  Overlay , Darken , Lighten , ColorDodge ,
  ColorBurn , HardLight , SoftLight , Difference ,
  Exclusion , Hue , Saturation , Color ,
  Luminosity
}
 List of defined transparency blending modes.
 
enum class  PdfSignatureType { Unknown = 0 , PAdES_B = 1 , Pkcs7 = 2 }
 
enum class  PdfSignatureEncryption { Unknown = 0 , RSA }
 
enum class  PdfHashingAlgorithm { Unknown = 0 , SHA256 , SHA384 , SHA512 }
 

Functions

 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfSaveOptions)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfWriteFlags)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfInfoInitial)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfFontStyle)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfFontCreateFlags)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfFontAutoSelectBehavior)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfFontMatchBehaviorFlags)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfFontDescriptorFlags)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfGlyphAccess)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfTextExtractFlags)
 
 ENABLE_BITMASK_OPERATORS (PoDoFo::PdfAnnotationFlags)
 

Variables

constexpr PdfVersion PoDoFo::PdfVersionDefault = PdfVersion::V1_4
 The default PDF Version used by new PDF documents in PoDoFo.
 

Detailed Description

SPDX-FileCopyrightText: (C) 2005 Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de SPDX-FileCopyrightText: (C) 2020 Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om SPDX-License-Identifier: LGPL-2.0-or-later.

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.

Macro Definition Documentation

◆ FORWARD_DECLARE_FCONFIG

#define FORWARD_DECLARE_FCONFIG ( )
Value:
extern "C" {\
struct _FcConfig;\
typedef struct _FcConfig FcConfig;\
}

◆ FORWARD_DECLARE_FREETYPE

#define FORWARD_DECLARE_FREETYPE ( )
Value:
extern "C"\
{\
struct FT_FaceRec_;\
typedef struct FT_FaceRec_* FT_Face;\
}