Table of Contents

Use latest version of the functions and upgrade if possible. However older versions remain supported.

Version 2

Function Name Output Format Payload Format Base64

CreatePprV2PdfJson

PDF

JSON

-

CreatePprV2PdfJsonBase64

PDF

JSON

x

CreatePprV2PdfCsv

PDF

CSV

-

CreatePprV2PdfCsvBase64

PDF

CSV

x

CreatePprV2PngJson

PNG

JSON

-

CreatePprV2PngJsonBase64

PNG

JSON

x

CreatePprV2PngCsv

PNG

CSV

-

CreatePprV2PngCsvBase64

PNG

CSV

x

Type Description

Parameters

PageSize

const char*

The following strings are accepted as page size: DIN_LANG A5 A4 DIN_LANG_CROPPED (same as DIN_LANG but without print margins on the left, right and bottom - only for rasterized graphics)

FontFamily

const char*

The following strings are accepted as font family: LiberationSans (recommended) Helvetica Arial

Language

const char*

The language in which the payment part & receipt is to be generated. Either pass the ISO language code or the longer language string. DE / GERMAN FR / FRENCH IT / ITALIAN EN / ENGLISH

(Resolution)

const unsigned int

Parameter exists only for PNG and JPG methods The number of DPI to use in order to rasterize the output. The following DPI values are supported 150 300 600

BoundaryLines

const char*

boundary lines are printed (separation between Bill and payment part & receipt). This is needed if QR Bill is digitally distributed and not printed on paper without perforation. (none | enabled | enabled_with_margins) See also Output Options

BoundaryLineScissors

const bool

if true, scissor pictogram is printed on the boundary lines to indicate the need for separation. requires BoundaryLines to be true.

BoundaryLineSeparationText

const bool

if true, a separation text ("Separate before paying in") is written above the payment part. Can only be used if PageSize is larger than DIN_LANG

AdditionalPrintMargin

const bool

If an additional print margin (1mm) should be added to the left, right and bottom of the payment part & receipt. If set, 6mm instead of 5mm print margin is used. This may be needed for some printers and print services. Default is false. See also Output Options

Input

const char*

The actual data, either as JSON or CSV and possible encoded using Base64. Input type depends on the used function.

OutputBuffer

char *

A buffer initialized by the caller which is used to write the result back in. See also Buffer Sizes

OutputBufferSize

unsigned long *

The size of the OutputBuffer. The library needs it to check if the buffer is large enough to write the result back. After the result is written, it contains the actual data length (actual size <= initial buffer size). See also Buffer Sizes

MessageBuffer

char *

A buffer initialized by the caller which is used to write error messages back to the caller. See also Buffer Sizes

MessageBufferSize

unsigned long *

The size of the MessageBuffer. The library needs it to check if the buffer is large enough to write the result message back. After the message is written, it contains the actual message length (actual size <= initial buffer size). See also Buffer Sizes

Returns

return code

unsigned int

0 = Success 100 = Technical Error 101 = Validation Error 102 = Parse Error 103 = Layout Error 104 = Decode Error

Version 1

Function Name Output Format Payload Format Base64

CreatePprPdfJson

PDF

JSON

-

CreatePprPdfJsonBase64

PDF

JSON

x

CreatePprPdfCsv

PDF

CSV

-

CreatePprPdfCsvBase64

PDF

CSV

x

CreatePprPngJson

PNG

JSON

-

CreatePprPngJsonBase64

PNG

JSON

x

CreatePprPngCsv

PNG

CSV

-

CreatePprPngCsvBase64

PNG

CSV

x

Type Description

Parameters

PageSize

const char*

The following strings are accepted as page size: DIN_LANG A5 A4

FontFamily

const char*

The following strings are accepted as font family: LiberationSans (recommended) Helvetica Arial

Language

const char*

The language in which the payment part & receipt is to be generated. Either pass the ISO language code or the longer language string. DE / GERMAN FR / FRENCH IT / ITALIAN EN / ENGLISH

(Resolution)

const unsigned int

Parameter exists only for PNG and JPG methods The number of DPI to use in order to rasterize the output. The following DPI values are supported 150 300 600

BoundaryLines

const bool

if true, boundary lines are printed (separation between Bill and payment part & receipt). This is needed if QR Bill is digitally distributed and not printed on paper without perforation.

BoundaryLineScissors

const bool

if true, scissor pictogram is printed on the boundary lines to indicate the need for separation. requires BoundaryLines to be true.

BoundaryLineSeparationText

const bool

if true, a separation text ("Separate before paying in") is written above the payment part. Can only be used if PageSize is larger than DIN_LANG

Input

const char*

The actual data, either as JSON or CSV and possible encoded using Base64. Input type depends on the used function.

OutputBuffer

char *

A buffer initialized by the caller which is used to write the result back in. See also Buffer Sizes

OutputBufferSize

unsigned long *

The size of the OutputBuffer. The library needs it to check if the buffer is large enough to write the result back. After the result is written, it contains the actual data length (actual size <= initial buffer size). See also Buffer Sizes

MessageBuffer

char *

A buffer initialized by the caller which is used to write error messages back to the caller. See also Buffer Sizes

MessageBufferSize

unsigned long *

The size of the MessageBuffer. The library needs it to check if the buffer is large enough to write the result message back. After the message is written, it contains the actual message length (actual size <= initial buffer size). See also Buffer Sizes

Returns

return code

unsigned int

0 = Success 100 = Technical Error 101 = Validation Error 102 = Parse Error 103 = Layout Error 104 = Decode Error

Payment Part & Receipt