pdfmm 0.9.20
Classes | Typedefs | Enumerations | Functions | Variables
mm Namespace Reference

Classes

class  chars
 
class  FormatHelper
 
class  nullable
 
struct  Object
 
class  PdChoiceField
 
class  PdfAction
 
class  PdfAESInputStream
 
class  PdfAnnotation
 
class  PdfArray
 
class  PdfArrayIndirectIterator
 
class  PdfAscii85Filter
 
class  PdfAxialShadingPattern
 
class  PdfCanvas
 
class  PdfCanvasInputDevice
 
struct  PdfCharCode
 
class  PdfCharCodeMap
 
class  PdfCheckBox
 
struct  PdfCID
 
class  PdfColor
 
class  PdfComboBox
 
class  PdfContainerOutputStream
 
class  PdfContents
 
class  PdfContentsTokenizer
 
class  PdfData
 
class  PdfDataContainer
 
class  PdfDataProvider
 
class  PdfDate
 
class  PdfDestination
 
class  PdfDeviceInputStream
 
class  PdfDeviceOutputStream
 
class  PdfDictionary
 
class  PdfDictionaryIndirectIterator
 
class  PdfDifferenceEncoding
 
class  PdfDocEncoding
 
class  PdfDocument
 
class  PdfDummyEncodingMap
 
class  PdfDynamicEncoding
 
class  PdfElement
 
class  PdfEncoding
 
class  PdfEncodingDifference
 
class  PdfEncodingFactory
 
class  PdfEncodingMap
 
class  PdfEncodingMapBase
 
class  PdfEncodingMapFactory
 
class  PdfEncodingMapSimple
 
class  PdfEncodingShim
 
class  PdfEncrypt
 
class  PdfEncryptAESBase
 
class  PdfEncryptAESV2
 
class  PdfEncryptRC4
 
class  PdfEncryptRC4Base
 
class  PdfError
 
class  PdfExponentialFunction
 
class  PdfExtension
 
class  PdfExtGState
 
class  PdfFileInputStream
 
class  PdfFileSpec
 
class  PdfFileStream
 
class  PdfFilter
 
class  PdfFilterFactory
 
class  PdfFlateFilter
 
class  PdfFont
 
class  PdfFontCIDTrueType
 
class  PdfFontConfigWrapper
 
class  PdfFontManager
 
class  PdfFontMetrics
 
class  PdfFontMetricsStandard14
 
class  PdfFontSimple
 
class  PdfFontStandard14
 
class  PdfFontTrueType
 
class  PdfFontTrueTypeSubset
 
class  PdfFontType1
 
class  PdfFontType1Encoding
 
class  PdfFontType3
 
class  PdfFunction
 
class  PdfFunctionBaseShadingPattern
 
class  PdfHexFilter
 
class  PdfIdentityEncoding
 
class  PdfImage
 
class  PdfImmediateWriter
 
class  PdfIndirectObjectList
 
class  PdfInfo
 
class  PdfInputDevice
 
class  PdfInputStream
 
class  PdfIso88592Encoding
 
class  PdfListBox
 
class  PdfLZWFilter
 
class  PdfMacExpertEncoding
 
class  PdfMacRomanEncoding
 
class  PdfMemDocument
 
class  PdfMemoryInputStream
 
class  PdfMemoryOutputStream
 
class  PdfMemStream
 
class  PdfName
 
class  PdfNullOutputDevice
 
class  PdfObject
 
class  PdfObjectStreamParser
 
class  PdfOutlineItem
 
class  PdfOutlines
 
class  PdfOutputDevice
 
class  PdfOutputStream
 
class  PdfPage
 
class  PdfPageTree
 
class  PdfPageTreeCache
 
class  PdfPainter
 
class  PdfParser
 
class  PdfParserObject
 
class  PdfPostScriptTokenizer
 
class  PdfPredefinedEncoding
 
class  PdfPredictorDecoder
 
class  PdfPushButton
 
class  PdfRadialShadingPattern
 
class  PdfRadioButton
 
class  PdfRC4InputStream
 
class  PdfRC4OutputStream
 
class  PdfRC4Stream
 
class  PdfRect
 
class  PdfReference
 
class  PdfResources
 
class  PdfRLEFilter
 
class  PdfSampledFunction
 
class  PdfShadingPattern
 
class  PdfStandardEncoding
 
class  PdfStitchingFunction
 
class  PdfStream
 
class  PdfStreamedDocument
 
class  PdfString
 
class  PdfSymbolEncoding
 
class  PdfTextBox
 
class  PdfTilingPattern
 
class  PdfTokenizer
 
class  PdfTriangleShadingPattern
 
class  PdfVariant
 
class  PdfWin1250Encoding
 
class  PdfWinAnsiEncoding
 
class  PdfWriter
 
class  PdfXObject
 
class  PdfXRef
 
class  PdfXRefStream
 
class  PdfXRefStreamParserObject
 
class  PdfZapfDingbatsEncoding
 

Typedefs

typedef std::shared_ptr< const PdfEncodingMapPdfEncodingMapConstPtr
 
typedef std::shared_ptr< const PdfFontMetricsPdfFontMetricsConstPtr
 

Enumerations

enum class  PdfAcroFormDefaulAppearance { None , BlackText12pt }
 
enum class  PdfActionType
 
enum class  PdfAnnotationType
 
enum class  PdfAnnotationFlags
 
enum class  PdfAnnotationAppearance { Normal = 0 , Rollover , Down }
 
enum class  PdfContentsType { }
 
enum class  PdfVersion {
  V1_0 = 0 , V1_1 , V1_2 , V1_3 ,
  V1_4 , V1_5 , V1_6 , V1_7 ,
  V2_0
}
 
enum class  PdfWriteMode { }
 
enum class  PdfDataType : uint8_t {
  Unknown = 0 , Bool , Number , Real ,
  String , Name , Array , Dictionary ,
  Null , Reference , RawData
}
 
enum class  PdfFilterType {
  None = 0 , ASCIIHexDecode , ASCII85Decode , LZWDecode ,
  FlateDecode , RunLengthDecode , CCITTFaxDecode , JBIG2Decode ,
  DCTDecode , JPXDecode , Crypt
}
 
enum class  PdfFontMetricsType
 
enum class  PdfAutoSelectFontOptions { None = 0 , Standard14 = 1 , Standard14Alt = 2 }
 
enum class  PdfFontInitOptions { None = 0 , Embed = 1 , Subset = 2 }
 
enum class  PdfColorSpace {
}
 
enum class  PdfTextRenderingMode {
}
 
enum class  PdfStrokeStyle
 
enum class  PdfInfoInitial { }
 
enum class  PdfTilingPatternType
 
enum class  PdfLineCapStyle
 
enum class  PdfLineJoinStyle
 
enum class  PdfVerticalAlignment
 
enum class  PdfHorizontalAlignment
 
enum class  PdfPageSize {
}
 
enum class  PdfPageMode
 
enum class  PdfPageLayout
 
enum class  PdfDestinationType
 
enum class  PdfBaseEncoding { Implicit , WinAnsi , MacRoman , MacExpert }
 
enum class  PdfEncodingExportFlags { }
 
enum class  PdfKeyLength
 
enum class  PdfPermissions {
}
 
enum class  PdfEncryptAlgorithm { }
 
enum class  PdfErrorCode {
  Unknown = 0 , Ok , TestFailed , InvalidHandle ,
  FileNotFound , InvalidDeviceOperation , UnexpectedEOF , OutOfMemory ,
  ValueOutOfRange , InternalLogic , InvalidEnumValue , BrokenFile ,
  PageNotFound , NoPdfFile , NoXRef , NoTrailer ,
  NoNumber , NoObject , NoEOFToken , InvalidTrailerSize ,
  InvalidLinearization , InvalidDataType , InvalidXRef , InvalidXRefStream ,
  InvalidXRefType , InvalidPredictor , InvalidStrokeStyle , InvalidHexString ,
  InvalidStream , InvalidStreamLength , InvalidKey , InvalidName ,
  InvalidEncryptionDict , InvalidPassword , InvalidFontFile , InvalidContentStream ,
  UnsupportedFilter , UnsupportedFontFormat , ActionAlreadyPresent , WrongDestinationType ,
  MissingEndStream , Date , Flate , FreeType ,
  SignatureError , UnsupportedImageFormat , CannotConvertColor , NotImplemented ,
  DestinationAlreadyPresent , ChangeOnImmutable , NotCompiled , OutlineItemAlreadyPresent ,
  NotLoadedForUpdate , CannotEncryptedForUpdate , XmpMetadata
}
 
enum class  LogSeverity {
  None = 0 , Error , Warning , Information ,
  Debug
}
 
enum class  PdfFieldType
 
enum class  PdfHighlightingMode { }
 
enum class  TrueTypeFontFileType { Unknown , TTF , TTC , OTF }
 
enum class  PdfOutlineFormat { Default = 0x00 , Italic = 0x01 , Bold = 0x02 , BoldItalic = 0x03 }
 
enum class  PdfPainterFlags { }
 
enum class  PdfPostScriptTokenType { }
 
enum class  PdfFunctionType { Sampled = 0 , Exponential = 2 , Stitching = 3 , PostScript = 4 }
 

Functions

void PDFMM_API PdfLocaleImbue (std::ios_base &)
 

Variables

constexpr PdfVersion PdfVersionDefault = PdfVersion::V1_4
 

Detailed Description

Copyright (C) 2007 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2006 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2021 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Lesser General Public License 2.1. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2005 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2006 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2005 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

All classes, functions, types and enums of pdfmm are members of these namespace.

If you use pdfmm, you might want to add the line: using namespace mm; to your application.

Copyright (C) 2011 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2008 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2007 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2010 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2008 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2021 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2006 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2021 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2009 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2021 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2021 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2011 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2011 by Petr Pytelka Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Lesser General Public License 2.1. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2009 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de Copyright (C) 2020 by Francesco Pretto ceztk.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Copyright (C) 2010 by Dominik Seichter domse.nosp@m.icht.nosp@m.er@we.nosp@m.b.de

Licensed under GNU Library General Public License 2.0 or later. Some rights reserved. See COPYING, AUTHORS.

Typedef Documentation

◆ PdfEncodingMapConstPtr

typedef std::shared_ptr<const PdfEncodingMap> mm::PdfEncodingMapConstPtr

Convenience typedef for a const PdfEncoding shared ptr

◆ PdfFontMetricsConstPtr

typedef std::shared_ptr<const PdfFontMetrics> mm::PdfFontMetricsConstPtr

Convenience typedef for a const PdfEncoding shared ptr

Enumeration Type Documentation

◆ LogSeverity

enum class mm::LogSeverity
strong

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

See also
PdfError::LogMessage
Enumerator
None 

Logging disabled.

Error 

Error.

Warning 

Warning.

Information 

Information message.

Debug 

Debug information.

◆ PdfAcroFormDefaulAppearance

Enumerator
None 

Do not add a default appearrance.

BlackText12pt 

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

◆ PdfActionType

enum class mm::PdfActionType
strong

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.

◆ PdfAnnotationAppearance

enum class mm::PdfAnnotationAppearance
strong

Type of the annotation appearance.

Enumerator
Normal 

Normal appearance.

Rollover 

Rollover appearance; the default is PdfAnnotationAppearance::Normal.

Down 

Down appearance; the default is PdfAnnotationAppearance::Normal.

◆ PdfAnnotationFlags

enum class mm::PdfAnnotationFlags
strong

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

◆ PdfAnnotationType

enum class mm::PdfAnnotationType
strong

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.

◆ PdfAutoSelectFontOptions

enum class mm::PdfAutoSelectFontOptions
strong

Flags to control font creation.

Enumerator
None 

No auto selection.

Standard14 

Automatically select a Standard14 font if the fontname matches one of them.

Standard14Alt 

Automatically select a Standard14 font if the fontname matches one of them (standarda and alternative names)

◆ PdfBaseEncoding

enum class mm::PdfBaseEncoding
strong

Defines the base encoding from which a PdfDifferenceEncoding differs.

Enumerator
Implicit 

See Table 5.11 PdfRefence 1.7.

WinAnsi 

Use WinAnsiEncoding as base encoding.

MacRoman 

Use MacRomanEncoding as base encoding.

MacExpert 

Use MacExpertEncoding as base encoding.

◆ PdfColorSpace

enum class mm::PdfColorSpace
strong

Enum for the colorspaces supported by PDF.

Enumerator
DeviceGray 

Gray.

DeviceRGB 

RGB.

DeviceCMYK 

CMYK.

Separation 

Separation.

CieLab 

CIE-Lab.

Indexed 

Indexed.

◆ PdfContentsType

enum class mm::PdfContentsType
strong

An enum describing the type of a read token

Enumerator
Keyword 

The token is a PDF keyword.

Variant 

The token is a PDF variant. A variant is usually a parameter to a keyword.

ImageData 

‍Inline image dictionary

The "token" is raw inline image data found between ID and EI tags (see PDF ref section 4.8.6)

◆ PdfDataType

enum class mm::PdfDataType : uint8_t
strong

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
Unknown 

The Datatype is unknown. The value is chosen to enable value storage in 8-bit unsigned integer.

Bool 

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

Number 

Number datatype for integer values.

Real 

Real datatype for floating point numbers.

String 

String datatype in PDF file. Strings have the form (Hallo World!) in PDF files.

See also
PdfString
Name 

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

See also
PdfName
Array 

An array of other PDF data types.

Dictionary 

A dictionary associates keys with values. A key can have another dictionary as value.

Null 

The null datatype is always null.

Reference 

The reference datatype contains references to PDF objects in the PDF file of the form 4 0 R.

See also
PdfObject
RawData 

Raw PDF data.

◆ PdfDestinationType

enum class mm::PdfDestinationType
strong

Destination type, as per 12.3.2.2 of the Pdf spec.

(see table 151 in the pdf spec)

◆ PdfEncodingExportFlags

enum class mm::PdfEncodingExportFlags
strong
Enumerator
SkipToUnicode 

Skip exporting a /ToUnicode entry.

◆ PdfEncryptAlgorithm

enum class mm::PdfEncryptAlgorithm
strong

The encryption algorithm.

Enumerator
RC4V1 

RC4 Version 1 encryption using a 40bit key.

RC4V2 

RC4 Version 2 encryption using a key with 40-128bit.

AESV2 

AES encryption with a 128 bit key (PDF1.6)

◆ PdfErrorCode

enum class mm::PdfErrorCode
strong

Error Code enum values 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
Unknown 

Unknown error.

Ok 

The default value indicating no error.

TestFailed 

Used in pdfmm tests, to indicate that a test failed for some reason.

InvalidHandle 

Null pointer was passed, but null pointer is not allowed.

FileNotFound 

A file was not found or cannot be opened.

InvalidDeviceOperation 

Tried to do something unsupported to an I/O device like seek a non-seekable input device.

UnexpectedEOF 

End of file was reached but data was expected.

OutOfMemory 

Not enough memory to complete an operation.

ValueOutOfRange 

The specified memory is out of the allowed range.

InternalLogic 

An internal sanity check or assertion failed.

InvalidEnumValue 

An invalid enum value was specified.

BrokenFile 

The file content is broken.

PageNotFound 

The requested page could not be found in the PDF.

NoPdfFile 

The file is no PDF file.

NoXRef 

The PDF file has no or an invalid XRef table.

NoTrailer 

The PDF file has no or an invalid trailer.

NoNumber 

A number was expected in the PDF file, but the read string is no number.

NoObject 

A object was expected and none was found.

NoEOFToken 

The PDF file has no or an invalid EOF marker.

InvalidTrailerSize 

The trailer size is invalid.

InvalidLinearization 

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

InvalidDataType 

The passed datatype is invalid or was not recognized.

InvalidXRef 

The XRef table is invalid.

InvalidXRefStream 

A XRef steam is invalid.

InvalidXRefType 

The XRef type is invalid or was not found.

InvalidPredictor 

Invalid or unimplemented predictor.

InvalidStrokeStyle 

Invalid stroke style during drawing.

InvalidHexString 

Invalid hex string.

InvalidStream 

The stream is invalid.

InvalidStreamLength 

The stream length is invalid.

InvalidKey 

The specified key is invalid.

InvalidName 

The specified Name is not valid in this context.

InvalidEncryptionDict 

The encryption dictionary is invalid or misses a required key.

InvalidPassword 

The password used to open the PDF file was invalid.

InvalidFontFile 

The font file is invalid.

InvalidContentStream 

The content stream is invalid due to mismatched context pairing or other problems.

UnsupportedFilter 

The requested filter is not yet implemented.

UnsupportedFontFormat 

This font format is not supported by pdfmm.

ActionAlreadyPresent 

An Action was already present when trying to add a Destination.

WrongDestinationType 

The requested field is not available for the given destination type.

MissingEndStream 

The required token endstream was not found.

Date 

Date/time error.

Flate 

Error in zlib.

FreeType 

Error in FreeType.

SignatureError 

Error in signature.

UnsupportedImageFormat 

This image format is not supported by pdfmm.

CannotConvertColor 

This color format cannot be converted.

NotImplemented 

This feature is currently not implemented.

DestinationAlreadyPresent 

A destination was already present when trying to add an Action.

ChangeOnImmutable 

Changing values on immutable objects is not allowed.

NotCompiled 

This feature was disabled at compile time.

OutlineItemAlreadyPresent 

An outline item to be inserted was already in that outlines tree.

NotLoadedForUpdate 

The document had not been loaded for update.

CannotEncryptedForUpdate 

Cannot load encrypted documents for update.

XmpMetadata 

Error while creating or reading XMP metadata.

◆ PdfFieldType

enum class mm::PdfFieldType
strong

The type of PDF field

◆ PdfFilterType

enum class mm::PdfFilterType
strong

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

Enumerator
None 

Do not use any filtering.

ASCIIHexDecode 

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

See also
PdfHexFilter
ASCII85Decode 

Converts to and from Ascii85 encoding.

See also
PdfAscii85Filter
FlateDecode 

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

See also
PdfFlateFilter
RunLengthDecode 

Run length decode data.

See also
PdfRLEFilter

◆ PdfFontInitOptions

enum class mm::PdfFontInitOptions
strong

Font init flags

Enumerator
None 

No special settings.

Embed 

Do embed font data.

Subset 

Create subsetted, which includes only used characters. Implies embed.

◆ PdfFontMetricsType

enum class mm::PdfFontMetricsType
strong

Enum for the different font metrics formats supported by pdfmm

◆ PdfFunctionType

enum class mm::PdfFunctionType
strong

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

Enumerator
Sampled 

A sampled function (Type1)

Exponential 

An exponential interpolation function (Type2)

Stitching 

A stitching function (Type3)

PostScript 

A PostScript calculator function (Type4)

◆ PdfHighlightingMode

enum class mm::PdfHighlightingMode
strong

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 PdfHighlightingMode::Invert

Enumerator
None 

Do no highlighting.

Invert 

Invert the PdfField.

InvertOutline 

Invert the fields border.

Push 

Display the fields down appearance (requires an additional appearance stream to be set)

◆ PdfHorizontalAlignment

enum class mm::PdfHorizontalAlignment
strong

Enum for text alignment

◆ PdfInfoInitial

enum class mm::PdfInfoInitial
strong

Enum to specifiy the initial information of the info dictionary.

Enumerator
WriteCreationTime 

Write the creation time (current time). Default for new documents.

WriteModificationTime 

Write the modification time (current time). Default for loaded documents.

WriteProducer 

Write producer key. Default for new documents.

◆ PdfKeyLength

enum class mm::PdfKeyLength
strong

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!

◆ PdfLineCapStyle

enum class mm::PdfLineCapStyle
strong

Enum for line cap styles when drawing.

◆ PdfLineJoinStyle

enum class mm::PdfLineJoinStyle
strong

Enum for line join styles when drawing.

◆ PdfOutlineFormat

enum class mm::PdfOutlineFormat
strong

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

Enumerator
Default 

Default format.

Italic 

Italic.

Bold 

Bold.

BoldItalic 

Bold Italic.

◆ PdfPageLayout

enum class mm::PdfPageLayout
strong

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

See also
PdfDocument

◆ PdfPageMode

enum class mm::PdfPageMode
strong

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

◆ PdfPageSize

enum class mm::PdfPageSize
strong

Enum holding the supported page sizes by pdfmm. Can be used to construct a PdfRect structure with measurements of a page object.

See also
PdfPage
Enumerator
A0 

DIN A0.

A1 

DIN A1.

A2 

DIN A2.

A3 

DIN A3.

A4 

DIN A4.

A5 

DIN A5.

A6 

DIN A6.

Letter 

Letter.

Legal 

Legal.

Tabloid 

Tabloid.

◆ PdfPainterFlags

enum class mm::PdfPainterFlags
strong
Enumerator
Prepend 

Does nothing for now.

NoSaveRestorePrior 

Do not perform a Save/Restore or previous content. Implies RawCoordinates.

NoSaveRestore 

Do not perform a Save/Restore of added content in this painting session.

RawCoordinates 

Does nothing for now.

◆ PdfPermissions

enum class mm::PdfPermissions
strong

Set user permissions/restrictions on a document

Enumerator
Print 

Allow printing the document.

Edit 

Allow modifying the document besides annotations, form fields or changing pages.

Copy 

Allow text and graphic extraction.

EditNotes 

Add or modify text annotations or form fields (if PdfPermissions::Edit is set also allow to create interactive form fields including signature)

FillAndSign 

Fill in existing form or signature fields.

Accessible 

Extract text and graphics to support user with disabilities.

DocAssembly 

Assemble the document: insert, create, rotate delete pages or add bookmarks.

HighPrint 

Print a high resolution version of the document.

◆ PdfPostScriptTokenType

enum class mm::PdfPostScriptTokenType
strong

An enum describing the type of a read token

Enumerator
Keyword 

The token is a PDF keyword.

Variant 

The token is a PDF variant. A variant is usually a parameter to a keyword.

ProcedureEnter 

Procedure enter delimiter.

ProcedureExit 

Procedure enter delimiter.

◆ PdfStrokeStyle

enum class mm::PdfStrokeStyle
strong

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

◆ PdfTextRenderingMode

enum class mm::PdfTextRenderingMode
strong

Enum for text rendering mode (Tr)

Enumerator
Fill 

Default mode, fill text.

Stroke 

Stroke text.

FillAndStroke 

Fill, then stroke text.

Invisible 

Neither fill nor stroke text (invisible)

FillToClipPath 

Fill text and add to path for clipping.

StrokeToClipPath 

Stroke text and add to path for clipping.

FillAndStrokeToClipPath 

Fill, then stroke text and add to path for clipping.

ToClipPath 

Add text to path for clipping.

◆ PdfTilingPatternType

enum class mm::PdfTilingPatternType
strong

Enum for predefined tiling patterns.

◆ PdfVersion

enum class mm::PdfVersion
strong

Enum to identify different versions of the PDF file format

Enumerator
V1_0 

PDF 1.0.

V1_1 

PDF 1.1.

V1_2 

PDF 1.2.

V1_3 

PDF 1.3.

V1_4 

PDF 1.4.

V1_5 

PDF 1.5.

V1_6 

PDF 1.6.

V1_7 

PDF 1.7.

V2_0 

PDF 1.7.

◆ PdfVerticalAlignment

enum class mm::PdfVerticalAlignment
strong

Enum for vertical text alignment

◆ PdfWriteMode

enum class mm::PdfWriteMode
strong

Specify additional options for writing the PDF.

Enumerator
Clean 

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

NoInlineLiteral 

Don't write spaces before literal types (numerical, references, null)

NoPDFAPreserve 

When writing compact (PdfWriteMode::Clean is unset) code, preserving PDF/A compliance is not required.

◆ TrueTypeFontFileType

enum class mm::TrueTypeFontFileType
strong

Internal enum specifying the type of a fontfile.

Enumerator
Unknown 

Unknown.

TTF 

TrueType Font.

TTC 

TrueType Collection.

OTF 

OpenType Font.

Function Documentation

◆ PdfLocaleImbue()

void PDFMM_API mm::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 PdfErrorCode::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" .

Variable Documentation

◆ PdfVersionDefault

constexpr PdfVersion mm::PdfVersionDefault = PdfVersion::V1_4
constexpr

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