Usage

The binaries to create Payment Part & Receipts (PPR) are qrinvoice_ppr.exe and qrinvoice_ppr_console.exe (if you prefer a console application).

Type qrinvoice_ppr.exe --help in order to see available options and arguments:

qrinvoice_ppr.exe [OPTION...] [optional stdin]
Table 1. Options
Option Description Default Value

--help

Print help

--basepath <value> -a <value>

Base path for all files. If set, all non-absolute paths are resolved relative to this base path

--inputfile <value> -b <value>

Input data (*) file name / path , if not specified, input is read from standard input.

--inputencoding <value>

Input encoding (UTF-8 | ISO-8859-1)

UTF-8

--inputformat <value> -c <value>

Input format (JSON|CSV)

JSON

--inputbase64 -d

Input is base64 encoded

false

--outputfile <value> -e <value>

Output file name, if not specified output is written into standard output

--outputformat <value> -f <value>

Output format (PDF | PNG | JPG)

PDF

--outputbase64 -g

Output is written base64 encoded

false

--language <value> -h <value>

Language in which the payment part & receipt is to be generated. (DE | FR | IT | EN)

DE

--pagesize <value> -i <value>

Output page size (A4 | A5 | DIN_LANG | DIN_LANG_CROPPED)

A4

--fontfamily <value> -j <value>

Font family (LiberationSans | Helvetica | Arial)

LiberationSans

--fontpath <value> -k <value>

Font path where the font files (TTF files) are located.

--resolution <value> -l <value>

The number of DPI to use in order to rasterize the output (irrelevant for PDF) (150 | 300 | 600)

150

--boundarylines=<value> -m=<value>

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

enabled

--boundarylinescissors=<value> -n=<value>

Scissor pictogram is printed on the boundary lines to indicate the need for separation. requires boundarylines flag

true

--boundarylineseparationtext=<value> -o=<value>

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

false

--additionalprintmargin=<value> -p=<value>

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. See also Output Options

false

--loglevel <value> -x <value>

Log level (DEBUG|INFO|WARN|ERROR)

WARN

--logfile <value> -y <value>

Log file name, if log should be printed to log file instead of standard output (if no output file is used, log is written to log.txt as default value)

--lazylogfile=<value> -z <value>

If log file should be lazily initialized. If no logging occurs, file is not created in lazy mode.

false

--argumentsfile <value>

Arguments file name. As an alternative to passing arguments in the command line, arguments can be put into a a separate file. The only command line argument to set in this is case is 'argumentsfile'

stdin

The input data (*) if not provided by inputfile.

*) Data can be passed as JSON or CSV document. Please make sure that UTF-8 is used as encoding, otherwise specify it with the option --inputencoding. Input can be passed as base64 encoded string in case you encounter encoding issues, especially when passing via stdin.

Examples

A4 PDF from JSON Input File in German

qrinvoice_ppr.exe --inputfile inputdata.json --outputfile qrinvoice_a4.pdf --logfile qrinvoice.log

DIN_LANG PDF from JSON Input File in French

qrinvoice_ppr.exe --inputfile inputdata.json --pagesize DIN_LANG --language FRENCH --outputfile qrinvoice_din_lang.pdf --logfile qrinvoice.log

DIN_LANG PNG from JSON Input File in French

qrinvoice_ppr.exe --inputfile inputdata.json --pagesize DIN_LANG --language FRENCH --outputformat PNG --outputfile qrinvoice_din_lang.png --logfile qrinvoice.log

A5 PDF from JSON Input File in Italian without boundary lines

qrinvoice_ppr.exe --inputfile inputdata.json --pagesize A5 --language ITALIAN --outputformat PDF --outputfile qrinvoice_a5.pdf --logfile qrinvoice.log --boundarylines=none