Files
php-qrcode/docs/Usage/Configuration-settings.md
smiley f94b30dd8e 📖
2026-06-02 14:48:18 +02:00

456 lines
9.5 KiB
Markdown

# Configuration settings
<!-- This file is auto generated from the source of QROptions.php -->
## version
QR Code version number
`1 ... 40` or `Version::AUTO` (default)
**See also:**
- `\chillerlan\QRCode\Common\Version`
## versionMin
Minimum QR version
if `QROptions::$version` is set to `Version::AUTO` (default: 1)
## versionMax
Maximum QR version
if `QROptions::$version` is set to `Version::AUTO` (default: 40)
## eccLevel
Error correct level
the constant `EccLevel::X` where `X` is:
- `L` => 7% (default)
- `M` => 15%
- `Q` => 25%
- `H` => 30%
alternatively you can just pass the letters L/M/Q/H (case-insensitive) to the magic setter
**See also:**
- `\chillerlan\QRCode\Common\EccLevel`
- [github.com/chillerlan/php-qrcode/discussions/160](https://github.com/chillerlan/php-qrcode/discussions/160)
## maskPattern
Mask Pattern to use (no value in using, mostly for unit testing purposes, will cause unreadable symbols)
`0 ... 7` or `MaskPattern::PATTERN_AUTO` (default)
**See also:**
- `\chillerlan\QRCode\Common\MaskPattern`
## addQuietzone
Add a "quiet zone" (margin) according to the QR code spec
**See also:**
- [www.qrcode.com/en/howto/code.html](https://www.qrcode.com/en/howto/code.html)
## quietzoneSize
Size of the quiet zone
internally clamped to `0 ... $moduleCount / 2` (default: 4)
## outputInterface
The FQCN of the `QROutputInterface` to use
## returnResource
Return the image resource instead of a render if applicable.
- `QRGdImage`: `GdImage`
- `QRImagick`: `Imagick`
- `QRFpdf`: `FPDF`
This option overrides/ignores other output settings, such as `QROptions::$cachefile`
and `QROptions::$outputBase64`. (default: `false`)
**See also:**
- `\chillerlan\QRCode\Output\QROutputInterface::dump()`
## cachefile
Optional cache file path `/path/to/cache.file`
Please note that the `$file` parameter in `QRCode::render()` and `QRCode::renderMatrix()`
takes precedence over the `QROptions::$cachefile` value. (default: `null`)
**See also:**
- `\chillerlan\QRCode\QRCode::render()`
- `\chillerlan\QRCode\QRCode::renderMatrix()`
## outputBase64
Toggle base64 data URI or raw data output (if applicable)
(default: `true`)
**See also:**
- `\chillerlan\QRCode\Output\QROutputAbstract::toBase64DataURI()`
## eol
Newline string
(default: `PHP_EOL`)
## bgColor
Sets the image background color (if applicable)
- `QRImagick`: defaults to `"white"`
- `QRGdImage`: defaults to `[255, 255, 255]`
- `QRFpdf`: defaults to blank internally (white page)
## invertMatrix
Whether to invert the matrix (reflectance reversal)
(default: `false`)
**See also:**
- `\chillerlan\QRCode\Data\QRMatrix::invert()`
## drawLightModules
Whether to draw the light (false) modules
(default: `true`)
## drawCircularModules
Specify whether to draw the modules as filled circles
a note for `GdImage` output:
if `QROptions::$scale` is less than 20, the image will be upscaled internally, then the modules will be drawn
using `imagefilledellipse()` and then scaled back to the expected size
No effect in: `QREps`, `QRFpdf`, `QRMarkupHTML`
**See also:**
- [php.net: `\imagefilledellipse()`](https://www.php.net/manual/function.imagefilledellipse)
- [github.com/chillerlan/php-qrcode/issues/23](https://github.com/chillerlan/php-qrcode/issues/23)
- [github.com/chillerlan/php-qrcode/discussions/122](https://github.com/chillerlan/php-qrcode/discussions/122)
## circleRadius
Specifies the radius of the modules when `QROptions::$drawCircularModules` is set to `true`
(default: 0.45)
## keepAsSquare
Specifies which module types to exclude when `QROptions::$drawCircularModules` is set to `true`
(default: `[]`)
## connectPaths
Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.
This option is exclusive to output classes that use the module collector `QROutputAbstract::collectModules()`,
which converts the `$M_TYPE` of all modules to `QRMatrix::M_DATA` and `QRMatrix::M_DATA_DARK` respectively.
Module types that should not be added to the connected path can be excluded via `QROptions::$excludeFromConnect`.
Currentty used in `QREps` and `QRMarkupSVG`.
**See also:**
- `\chillerlan\QRCode\Output\QROutputAbstract::collectModules()`
- `\chillerlan\QRCode\QROptionsTrait::$excludeFromConnect`
- [github.com/chillerlan/php-qrcode/issues/57](https://github.com/chillerlan/php-qrcode/issues/57)
## excludeFromConnect
Specify which paths/patterns to exclude from connecting if `QROptions::$connectPaths` is set to `true`
**See also:**
- `\chillerlan\QRCode\QROptionsTrait::$connectPaths`
## moduleValues
Module values map
- `QRImagick`, `QRMarkupHTML`, `QRMarkupSVG`: #ABCDEF, cssname, rgb(), rgba()...
- `QREps`, `QRFpdf`, `QRGdImage`: `[R, G, B]` // 0-255
- `QREps`: `[C, M, Y, K]` // 0-255
**See also:**
- `\chillerlan\QRCode\Output\QROutputAbstract::setModuleValues()`
## addLogoSpace
Toggles logo space creation
**See also:**
- `\chillerlan\QRCode\QRCode::addMatrixModifications()`
- `\chillerlan\QRCode\Data\QRMatrix::setLogoSpace()`
## logoSpaceWidth
Width of the logo space
if only `QROptions::$logoSpaceWidth` is given, the logo space is assumed a square of that size
## logoSpaceHeight
Height of the logo space
if only `QROptions::$logoSpaceHeight` is given, the logo space is assumed a square of that size
## logoSpaceStartX
Optional horizontal start position of the logo space (top left corner)
## logoSpaceStartY
Optional vertical start position of the logo space (top left corner)
## scale
Pixel size of a QR code module
## imageTransparent
Toggle transparency
- `QRGdImage` and `QRImagick`: the given `QROptions::$transparencyColor` is set as transparent
**See also:**
- [github.com/chillerlan/php-qrcode/discussions/121](https://github.com/chillerlan/php-qrcode/discussions/121)
## transparencyColor
Sets a transparency color for when `QROptions::$imageTransparent` is set to `true`.
Defaults to `QROptions::$bgColor`.
- `QRGdImage`: `[R, G, B]`, this color is set as transparent in `imagecolortransparent()`
- `QRImagick`: `"color_str"`, this color is set in `Imagick::transparentPaintImage()`
**See also:**
- [php.net: `\imagecolortransparent()`](https://www.php.net/manual/function.imagecolortransparent)
- [php.net: `\Imagick::transparentPaintImage()`](https://www.php.net/manual/imagick.transparentpaintimage)
## quality
Compression quality
The given value depends on the used output type:
- `QRGdImageBMP`: `[0...1]`
- `QRGdImageJPEG`: `[0...100]`
- `QRGdImageWEBP`: `[0...9]`
- `QRGdImagePNG`: `[0...100]`
- `QRImagick`: `[0...100]`
**See also:**
- [php.net: `\imagebmp()`](https://www.php.net/manual/function.imagebmp)
- [php.net: `\imagejpeg()`](https://www.php.net/manual/function.imagejpeg)
- [php.net: `\imagepng()`](https://www.php.net/manual/function.imagepng)
- [php.net: `\imagewebp()`](https://www.php.net/manual/function.imagewebp)
- [php.net: `\Imagick::setImageCompressionQuality()`](https://www.php.net/manual/imagick.setimagecompressionquality)
## gdImageUseUpscale
Toggles the usage of internal upscaling when `QROptions::$drawCircularModules` is set to `true` and
`QROptions::$scale` is less than 20
**See also:**
- `\chillerlan\QRCode\Output\QRGdImage::createImage()`
- [github.com/chillerlan/php-qrcode/issues/23](https://github.com/chillerlan/php-qrcode/issues/23)
## imagickFormat
Imagick output format
**See also:**
- [php.net: `\Imagick::setImageFormat()`](https://www.php.net/manual/imagick.setimageformat)
- [www.imagemagick.org/script/formats.php](https://www.imagemagick.org/script/formats.php)
## cssClass
A common css class
## svgAddXmlHeader
Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML
`<?xml version="1.0" encoding="UTF-8"?>`
## svgDefs
Anything in the SVG `<defs>` tag
**See also:**
- [developer.mozilla.org/en-US/docs/Web/SVG/Element/defs](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs)
## svgPreserveAspectRatio
Sets the value for the "preserveAspectRatio" on the `<svg>` element
**See also:**
- [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio)
## svgUseFillAttributes
Whether to use the SVG `fill` attributes
If set to `true` (default), the `fill` attribute will be set with the module value for the `<path>` element's `$M_TYPE`.
When set to `false`, the module values map will be ignored and the QR Code may be styled via CSS.
**See also:**
- [developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill)
## textLineStart
An optional line prefix, e.g. empty space to align the QR Code in a console
## jsonFlags
Sets the flags to use for the `json_encode()` call
**See also:**
- [www.php.net/manual/json.constants.php](https://www.php.net/manual/json.constants.php)
## fpdfMeasureUnit
Measurement unit for `FPDF` output: `pt`, `mm`, `cm`, `in` (default: `pt`)
**See also:**
- `FPDF::__construct()`
## xmlStylesheet
Sets an optional XSLT stylesheet in the XML output
**See also:**
- [developer.mozilla.org/en-US/docs/Web/XSLT](https://developer.mozilla.org/en-US/docs/Web/XSLT)
## readerUseImagickIfAvailable
Use Imagick when reading QR Codes.
Enables Imagick for the QR Code reader if the extension is available.
## readerGrayscale
Grayscale the image before reading.
## readerInvertColors
Invert the colors of the image.
## readerIncreaseContrast
Increase the contrast before reading.
Note that applying contrast works different in GD and Imagick, so mileage may vary.