فهرست منبع

Deploying to readthedocs from @ chillerlan/php-qrcode@af284bfb53e2ea79a131cd6a897960b8c31ed645 🚀

codemasher 2 سال پیش
والد
کامیت
f84016a422

+ 15 - 0
API-DecoderResult.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
API-QRCode.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
API-QRMatrix.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 37 - 28
API-QROptions.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -520,127 +535,121 @@
 <td><p>a valid GD or Imagick color value</p></td>
 <td><p>Sets a transparency color for when <code class="docutils literal notranslate"><span class="pre">QROptions::$imageTransparent</span></code> is set to true. Defaults to <code class="docutils literal notranslate"><span class="pre">QROptions::$bgColor</span></code>.</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$pngCompression</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$quality</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">-1</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">-1...9</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">imagepng()</span></code> compression level, -1 = auto</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$jpegQuality</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">85</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">0...100</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">imagejpeg()</span></code> quality</p></td>
+<td><p>*</p></td>
+<td><p>compression quality setting for <code class="docutils literal notranslate"><span class="pre">imagejpeg()</span></code>, <code class="docutils literal notranslate"><span class="pre">imagepng()</span></code>, <code class="docutils literal notranslate"><span class="pre">imagewebp()</span></code>, <code class="docutils literal notranslate"><span class="pre">Imagick::setImageCompressionQuality()</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imagickFormat</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imagickFormat</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'png'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>ImageMagick output type, see <code class="docutils literal notranslate"><span class="pre">Imagick::setType()</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'qrcode'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>A common css class</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'#000'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Markup substitute for dark (CSS value)</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'#fff'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Markup substitute for light (CSS value)</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgAddXmlHeader</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgAddXmlHeader</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">true</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgOpacity</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgOpacity</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">1.0</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">0...1</span></code></p></td>
 <td><p>SVG opacity</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgDefs</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgDefs</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">''</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Anything in the <a class="reference external" href="https://developer.mozilla.org/docs/Web/SVG/Element/defs"><code class="docutils literal notranslate"><span class="pre">&lt;defs&gt;</span></code></a> tag</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int|null</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">null</span></code></p></td>
 <td><p>*</p></td>
 <td><p>SVG viewBox size. A single integer number which defines width/height of the <a class="reference external" href="https://css-tricks.com/scale-svg/#article-header-id-3">viewBox attribute</a> <code class="docutils literal notranslate"><span class="pre">viewBox=&quot;0</span> <span class="pre">0</span> <span class="pre">x</span> <span class="pre">x&quot;</span></code>.</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgPreserveAspectRatio</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgPreserveAspectRatio</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'xMidYMid'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>See <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio">preserveAspectRatio on MDN</a></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgWidth</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgWidth</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string|null</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">null</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Optional “width” attribute with the specified value (note that the value is not checked!)</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgHeight</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgHeight</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string|null</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">null</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Optional “height” attribute with the specified value (note that the value is not checked!)</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'██'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>String substitute for dark</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'░░'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>String substitute for light</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLineStart</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textLineStart</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">''</span></code></p></td>
 <td><p>*</p></td>
 <td><p>An optional line prefix, e.g. empty space to align the QR Code in a console</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$jsonAsBooleans</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$jsonAsBooleans</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Whether to return matrix values in JSON as booleans or $M_TYPE integers</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$fpdfMeasureUnit</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$fpdfMeasureUnit</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">'pt'</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Measurement unit for FPDF output: pt, mm, cm, in</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$readerUseImagickIfAvailable</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$readerUseImagickIfAvailable</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Use Imagick (if available) when reading QR Codes</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$readerGrayscale</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$readerGrayscale</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
 <td><p>*</p></td>
 <td><p>Grayscale the image before reading</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$readerIncreaseContrast</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$readerIncreaseContrast</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
 <td><p>*</p></td>

+ 15 - 0
API-QROutputInterface.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Appendix-License.html

@@ -98,6 +98,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -105,6 +107,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -112,6 +116,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -119,6 +125,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -126,6 +134,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -133,6 +143,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -140,6 +152,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Appendix-Terminology.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Appendix-URI-Content.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 91 - 16
Built-In-Output-QREps.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -269,7 +284,67 @@
              
   <section id="qreps">
 <h1>QREps<a class="headerlink" href="#qreps" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php">Class <code class="docutils literal notranslate"><span class="pre">QREps</span></code></a>: <a class="reference external" href="https://en.wikipedia.org/wiki/Encapsulated_PostScript">Encapsulated Postscript</a> (EPS) output</p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php">Class <code class="docutils literal notranslate"><span class="pre">QREps</span></code></a>: <a class="reference external" href="https://en.wikipedia.org/wiki/Encapsulated_PostScript">Encapsulated Postscript</a> (EPS) output.</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/eps.php">EPS example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>       <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">EPS</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">scale</span>            <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+<span class="c1">// colors can be specified either as [R, G, B] or [C, M, Y, K] (0-255)</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">bgColor</span>          <span class="o">=</span> <span class="p">[</span><span class="mi">222</span><span class="p">,</span> <span class="mi">222</span><span class="p">,</span> <span class="mi">222</span><span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>     <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>    <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>    <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA_DARK</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA</span>           <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Render and save to file:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$file</span> <span class="o">=</span> <span class="no">__DIR__</span><span class="o">.</span><span class="s1">&#39;/qrcode.eps&#39;</span><span class="p">;</span>
+
+<span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="nv">$file</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Push as file download in a browser:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: application/postscript&#39;</span><span class="p">);</span>
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-Disposition: filename=&quot;qrcode.eps&quot;&#39;</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="k">exit</span><span class="p">;</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">formatColor(array</span> <span class="pre">$values)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>Set the color format string</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>Returns a path segment for a single module</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -279,16 +354,19 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
 </tr>
 </tbody>
@@ -302,25 +380,22 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
 <td><p>not implemented</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
 <td><p>not implemented</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p>not implemented</p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p>N/A</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p>not implemented</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
 </tbody>

+ 96 - 16
Built-In-Output-QRFpdf.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -270,6 +285,71 @@
   <section id="qrfpdf">
 <h1>QRFpdf<a class="headerlink" href="#qrfpdf" title="Link to this heading"></a></h1>
 <p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php">Class <code class="docutils literal notranslate"><span class="pre">QRFpdf</span></code></a>: <a class="reference external" href="https://en.wikipedia.org/wiki/PDF">Portable Document Format</a> (PDF) output via <a class="reference external" href="https://github.com/setasign/fpdf">FPDF</a></p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/fpdf.php">FPDF example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>       <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">FPDF</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">scale</span>            <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">fpdfMeasureUnit</span>  <span class="o">=</span> <span class="s1">&#39;mm&#39;</span><span class="p">;</span> <span class="c1">// pt, mm, cm, in</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">bgColor</span>          <span class="o">=</span> <span class="p">[</span><span class="mi">222</span><span class="p">,</span> <span class="mi">222</span><span class="p">,</span> <span class="mi">222</span><span class="p">];</span> <span class="c1">// [R, G, B]</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>     <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>    <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>    <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA_DARK</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA</span>           <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; data:application/pdf;base64,...</span>
+
+<span class="k">echo</span> <span class="nv">$out</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Return the <code class="docutils literal notranslate"><span class="pre">FPDF</span></code> instance (will ignore other output options):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span><span class="o">-&gt;</span><span class="na">returnResource</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+
+<span class="sd">/** @var \FPDF $fpdf */</span>
+<span class="nv">$fpdf</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="c1">// do stuff with the FPDF instance...</span>
+
+<span class="c1">// ...dump output</span>
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;application/pdf&#39;</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="nv">$fpdf</span><span class="o">-&gt;</span><span class="na">Output</span><span class="p">(</span><span class="s1">&#39;S&#39;</span><span class="p">);</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">initFPDF()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">FPDF</span></code></p></td>
+<td><p>Initializes an FPDF instance</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int</span> <span class="pre">$x,</span> <span class="pre">int</span> <span class="pre">$y,</span> <span class="pre">int</span> <span class="pre">$M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Renders a single module</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -279,14 +359,8 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
@@ -294,6 +368,15 @@
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$fpdfMeasureUnit</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">ìnt</span></code></p></td>
+</tr>
 </tbody>
 </table>
 <section id="options-that-have-no-effect">
@@ -305,25 +388,22 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
 </tbody>

+ 123 - 18
Built-In-Output-QRGdImage.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -270,6 +285,99 @@
   <section id="qrgdimage">
 <h1>QRGdImage<a class="headerlink" href="#qrgdimage" title="Link to this heading"></a></h1>
 <p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php">Class <code class="docutils literal notranslate"><span class="pre">QRGdImage</span></code></a>: <a class="reference external" href="https://www.php.net/manual/book.image">GdImage</a> raster graphic output (GIF, JPG, PNG)</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/image.php">GdImage example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="c1">// $outputType can be one of: GDIMAGE_BMP, GDIMAGE_GIF, GDIMAGE_JPG, GDIMAGE_PNG, GDIMAGE_WEBP</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>          <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">GDIMAGE_WEBP</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">quality</span>             <span class="o">=</span> <span class="mi">90</span><span class="p">;</span>
+<span class="c1">// the size of one qr module in pixels</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">scale</span>               <span class="o">=</span> <span class="mi">20</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">bgColor</span>             <span class="o">=</span> <span class="p">[</span><span class="mi">200</span><span class="p">,</span> <span class="mi">150</span><span class="p">,</span> <span class="mi">200</span><span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">imageTransparent</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="c1">// the color that will be set transparent</span>
+<span class="c1">// @see https://www.php.net/manual/en/function.imagecolortransparent</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">transparencyColor</span>   <span class="o">=</span> <span class="p">[</span><span class="mi">200</span><span class="p">,</span> <span class="mi">150</span><span class="p">,</span> <span class="mi">200</span><span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>        <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
+<span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span> <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">63</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span> <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">255</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA_DARK</span>      <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_DATA</span>           <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">,</span> <span class="mi">233</span><span class="p">],</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; data:image/webp;base64,...</span>
+
+<span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Return the <code class="docutils literal notranslate"><span class="pre">GdImage</span></code> instance/resource (will ignore other output options):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span><span class="o">-&gt;</span><span class="na">returnResource</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+
+<span class="sd">/** @var \GdImage|resource $gdImage */</span>
+<span class="nv">$gdImage</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="c1">// do stuff with the GdImage instance...</span>
+<span class="nv">$size</span> <span class="o">=</span> <span class="nb">imagesx</span><span class="p">(</span><span class="nv">$gdImage</span><span class="p">);</span>
+<span class="c1">// ...</span>
+
+<span class="c1">// ...dump output</span>
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: image/jpeg&#39;</span><span class="p">);</span>
+
+<span class="nb">imagejpeg</span><span class="p">(</span><span class="nv">$gdImage</span><span class="p">);</span>
+<span class="nb">imagedestroy</span><span class="p">(</span><span class="nv">$gdImage</span><span class="p">);</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">drawImage()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Draws the QR image</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">dumpImage()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>Creates the final image by calling the desired GD output function</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Renders a single module</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">setBgColor()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Sets the background color</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">setTransparencyColor()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Sets the transparency color</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -279,41 +387,38 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
 </tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$quality</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$transparencyColor</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$pngCompression</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$jpegQuality</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$transparencyColor</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
 </tr>
 </tbody>
 </table>

+ 119 - 20
Built-In-Output-QRImagick.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -276,6 +291,93 @@
 <li><p>PHP <code class="docutils literal notranslate"><span class="pre">ext-imagick</span></code>: <a class="reference external" href="https://github.com/Imagick/imagick">github.com/Imagick/imagick</a> (<a class="reference external" href="https://mlocati.github.io/articles/php-windows-imagick.html">Windows downloads</a>)</p></li>
 <li><p><a class="reference external" href="https://phpimagick.com/">PHP Imagick by Example</a> (<a class="reference external" href="https://github.com/Imagick/ImagickDemos">github.com/Imagick/ImagickDemos</a>)</p></li>
 </ul>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php">ImageMagick example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>          <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">IMAGICK</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">imagickFormat</span>       <span class="o">=</span> <span class="s1">&#39;webp&#39;</span><span class="p">;</span> <span class="c1">// e.g. png32, jpeg, webp</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">quality</span>             <span class="o">=</span> <span class="mi">90</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">scale</span>               <span class="o">=</span> <span class="mi">20</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">bgColor</span>             <span class="o">=</span> <span class="s1">&#39;#ccccaa&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">imageTransparent</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">transparencyColor</span>   <span class="o">=</span> <span class="s1">&#39;#ccccaa&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>        <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
+<span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="s1">&#39;#FFBFBF&#39;</span><span class="p">,</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="s1">&#39;#A70364&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="s1">&#39;#FFC9C9&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION_DARK</span>   <span class="o">=&gt;</span> <span class="s1">&#39;#650098&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION</span>        <span class="o">=&gt;</span> <span class="s1">&#39;#E0B8FF&#39;</span><span class="p">,</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; data:image/webp;base64,...</span>
+
+<span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Return the <code class="docutils literal notranslate"><span class="pre">Imagick</span></code> instance (will ignore other output options):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span><span class="o">-&gt;</span><span class="na">returnResource</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+
+<span class="sd">/** @var \Imagick $imagick */</span>
+<span class="nv">$imagick</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="c1">// do stuff with the Imagick instance...</span>
+<span class="nv">$imagick</span><span class="o">-&gt;</span><span class="na">scaleImage</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span> <span class="mi">150</span><span class="p">,</span> <span class="k">true</span><span class="p">);</span>
+<span class="c1">// ...</span>
+
+<span class="c1">// ...dump output</span>
+<span class="nv">$imagick</span><span class="o">-&gt;</span><span class="na">setImageFormat</span><span class="p">(</span><span class="s1">&#39;png32&#39;</span><span class="p">);</span>
+
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: image/png&#39;</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="nv">$imagick</span><span class="o">-&gt;</span><span class="na">getImageBlob</span><span class="p">();</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">drawImage()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Creates the QR image via ImagickDraw</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Draws a single pixel at the given position</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">setBgColor()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Sets the background color</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">setTransparencyColor()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Sets the transparency color</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -285,39 +387,42 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
 </tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imagickFormat</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$quality</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
+</tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$transparencyColor</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imagickFormat</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
 </tbody>
 </table>
 <section id="options-that-have-no-effect">
@@ -335,12 +440,6 @@
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$pngCompression</span></code></p></td>
-<td><p>GdImage exclusive</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$jpegQuality</span></code></p></td>
-<td><p>GdImage exclusive</p></td>
-</tr>
 </tbody>
 </table>
 </section>

+ 118 - 17
Built-In-Output-QRMarkupHTML.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -269,7 +284,93 @@
              
   <section id="qrmarkuphtml">
 <h1>QRMarkupHTML<a class="headerlink" href="#qrmarkuphtml" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupHTML.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupHTML</span></code></a>: HTML output (a cheap markup substitute when SVG is not available or not an option)</p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupHTML.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupHTML</span></code></a>: HTML output</p>
+<p>This class is a cheap markup substitute for when SVG is not available or not an option (which was an issue before ca 2012).
+As a general rule: if you plan to display the QR Code in a web browser, you should be using the <a class="reference internal" href="Built-In-Output-QRMarkupSVG.html"><span class="std std-doc">SVG output</span></a>.</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/html.php">HTML example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>   <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_HTML</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">cssClass</span>     <span class="o">=</span> <span class="s1">&#39;qrcode&#39;</span><span class="p">;</span>
+<span class="c1">// default values for unassigned module types</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupDark</span>   <span class="o">=</span> <span class="s1">&#39;#555&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupLight</span>  <span class="o">=</span> <span class="s1">&#39;#CCC&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span> <span class="o">=</span> <span class="p">[</span>
+	<span class="c1">// finder</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="s1">&#39;#FFBFBF&#39;</span><span class="p">,</span> <span class="c1">// light (false)</span>
+	<span class="c1">// alignment</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="s1">&#39;#A70364&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="s1">&#39;#FFC9C9&#39;</span><span class="p">,</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Output in a HTML document (via PHP):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="o">&lt;?</span><span class="nx">php</span>
+
+<span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: text/html&#39;</span><span class="p">);</span>
+
+<span class="cp">?&gt;</span>
+<span class="x">&lt;!DOCTYPE html&gt;</span>
+<span class="x">&lt;html lang=&quot;none&quot;&gt;</span>
+<span class="x">&lt;head&gt;</span>
+<span class="x">	&lt;meta charset=&quot;UTF-8&quot;/&gt;</span>
+<span class="x">	&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;/&gt;</span>
+<span class="x">	&lt;title&gt;QRCode HTML Example&lt;/title&gt;</span>
+<span class="x">	&lt;style&gt;</span>
+<span class="x">		div.qrcode{</span>
+<span class="x">			margin: 1em;</span>
+<span class="x">		}</span>
+
+<span class="x">		/* rows */</span>
+<span class="x">		div.qrcode &gt; div {</span>
+<span class="x">			height: 10px;</span>
+<span class="x">		}</span>
+
+<span class="x">		/* modules */</span>
+<span class="x">		div.qrcode &gt; div &gt; span {</span>
+<span class="x">			display: inline-block;</span>
+<span class="x">			width: 10px;</span>
+<span class="x">			height: 10px;</span>
+<span class="x">		}</span>
+<span class="x">	&lt;/style&gt;</span>
+<span class="x">&lt;/head&gt;</span>
+<span class="x">&lt;body&gt;</span>
+<span class="x">&lt;!-- php poutput --&gt;</span>
+<span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$out</span><span class="p">;</span> <span class="cp">?&gt;</span>
+<span class="x">&lt;/body&gt;</span>
+<span class="x">&lt;/html&gt;</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">createMarkup(bool $saveToFile)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>Returns the fully parsed and rendered markup string for the given input</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">getCssClass(int</span> <span class="pre">$M_TYPE</span> <span class="pre">=</span> <span class="pre">0)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>Returns a string with all css classes for the current element</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -279,10 +380,10 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
@@ -302,39 +403,39 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<td><p>via CSS</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
-<td><p>via CSS</p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
 <td><p>via CSS</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
 </tbody>
 </table>
 </section>

+ 130 - 31
Built-In-Output-QRMarkupSVG.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -270,6 +285,90 @@
   <section id="qrmarkupsvg">
 <h1>QRMarkupSVG<a class="headerlink" href="#qrmarkupsvg" title="Link to this heading"></a></h1>
 <p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupSVG</span></code></a>: <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/SVG">Scalable Vector Graphics</a> (SVG) output</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php">ImageMagick example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">version</span>             <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>          <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">MARKUP_SVG</span><span class="p">;</span>
+<span class="c1">// if set to false, the light modules won&#39;t be rendered</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>    <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="c1">// empty the default value to remove the fill* and opacity* attributes from the &lt;path&gt; elements</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupDark</span>          <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">markupLight</span>         <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
+<span class="c1">// draw the modules as circles isntead of squares</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>        <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
+<span class="c1">// connect paths to avoid render glitches</span>
+<span class="c1">// @see https://github.com/chillerlan/php-qrcode/issues/57</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">connectPaths</span>        <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="c1">// keep modules of these types as square</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
+<span class="p">];</span>
+<span class="c1">// add a gradient via the &lt;defs&gt; element</span>
+<span class="c1">// @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs</span>
+<span class="c1">// @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">svgDefs</span>             <span class="o">=</span> <span class="s1">&#39;</span>
+<span class="s1">	&lt;linearGradient id=&quot;rainbow&quot; x1=&quot;1&quot; y2=&quot;1&quot;&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#e2453c&quot; offset=&quot;0&quot;/&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#e07e39&quot; offset=&quot;0.2&quot;/&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#e5d667&quot; offset=&quot;0.4&quot;/&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#51b95b&quot; offset=&quot;0.6&quot;/&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#1e72b7&quot; offset=&quot;0.8&quot;/&gt;</span>
+<span class="s1">		&lt;stop stop-color=&quot;#6f5ba7&quot; offset=&quot;1&quot;/&gt;</span>
+<span class="s1">	&lt;/linearGradient&gt;</span>
+<span class="s1">	&lt;style&gt;&lt;![CDATA[</span>
+<span class="s1">		.dark{fill: url(#rainbow);}</span>
+<span class="s1">		.light{fill: #eee;}</span>
+<span class="s1">	]]&gt;&lt;/style&gt;&#39;</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; data:image/svg+xml;base64,PD94bWwgdmVyc2...</span>
+
+<span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">getCssClass(int</span> <span class="pre">$M_TYPE</span> <span class="pre">=</span> <span class="pre">0)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>returns a string with all css classes for the current element</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">header()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>returns the <code class="docutils literal notranslate"><span class="pre">&lt;svg&gt;</span></code> header with the given options parsed</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>returns a path segment for a single module</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">path(string</span> <span class="pre">$path,</span> <span class="pre">int</span> <span class="pre">$M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>renders and returns a single <code class="docutils literal notranslate"><span class="pre">&lt;path&gt;</span></code> element</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">paths()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>returns one or more SVG <code class="docutils literal notranslate"><span class="pre">&lt;path&gt;</span></code> elements</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -279,58 +378,58 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$cssClass</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupDark</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$markupLight</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgAddXmlHeader</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
 </tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgDefs</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgHeight</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string|null</span></code></p></td>
+</tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgOpacity</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgDefs</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgPreserveAspectRatio</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">int|null</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgPreserveAspectRatio</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$svgWidth</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string|null</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgHeight</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$svgWidth</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string|null</span></code></p></td>
 </tr>
 </tbody>
@@ -344,17 +443,17 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p>N/A</p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<td><p>background color can be achieved via CSS, attributes or the <code class="docutils literal notranslate"><span class="pre">&lt;defs&gt;</span></code> element, see also <a class="reference external" href="https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471">php-qrcode/discussions/199 (comment)</a></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
-<td><p>background color can be achieved via CSS, <code class="docutils literal notranslate"><span class="pre">&lt;defs&gt;</span></code> or attributes, see also <a class="reference external" href="https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471">php-qrcode/discussions/199 (comment)</a></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<td><p>SVG is - similar to a HTML element - transparent by default</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code> is intended for raster image types, use <code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code> instead</p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>SVG is transparent by default</p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code> (pixel size of a qr module) is intended for raster image types, use <code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code> instead</p></td>
 </tr>
 </tbody>
 </table>

+ 114 - 15
Built-In-Output-QRString.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -270,6 +285,84 @@
   <section id="qrstring">
 <h1>QRString<a class="headerlink" href="#qrstring" title="Link to this heading"></a></h1>
 <p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRString.php">Class <code class="docutils literal notranslate"><span class="pre">QRString</span></code></a>: String output: plain text, <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/JSON">JSON</a></p>
+<section id="plain-text">
+<h2>Plain text<a class="headerlink" href="#plain-text" title="Link to this heading"></a></h2>
+<p>Render in a CLI console, using <a class="reference external" href="https://en.wikipedia.org/wiki/ANSI_escape_code#Colors">ANSI colors</a> and <a class="reference external" href="https://en.wikipedia.org/wiki/Block_Elements">block elements</a>:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="c1">// a little helper to a create proper ANSI 8-bit color escape sequence</span>
+<span class="k">function</span> <span class="nf">ansi8</span><span class="p">(</span><span class="nx">string</span> <span class="nv">$str</span><span class="p">,</span> <span class="nx">int</span> <span class="nv">$color</span><span class="p">,</span> <span class="nx">bool</span> <span class="nv">$background</span> <span class="o">=</span> <span class="k">false</span><span class="p">)</span><span class="o">:</span><span class="nx">string</span><span class="p">{</span>
+	<span class="nv">$color</span>      <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">min</span><span class="p">(</span><span class="nv">$color</span><span class="p">,</span> <span class="mi">255</span><span class="p">));</span>
+	<span class="nv">$background</span> <span class="o">=</span> <span class="p">(</span><span class="nv">$background</span> <span class="o">?</span> <span class="mi">48</span> <span class="o">:</span> <span class="mi">38</span><span class="p">);</span>
+
+	<span class="k">return</span> <span class="nb">sprintf</span><span class="p">(</span><span class="s2">&quot;</span><span class="se">\x1b</span><span class="s2">[%s;5;%sm%s</span><span class="se">\x1b</span><span class="s2">[0m&quot;</span><span class="p">,</span> <span class="nv">$background</span><span class="p">,</span> <span class="nv">$color</span><span class="p">,</span> <span class="nv">$str</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>     <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">STRING_TEXT</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">eol</span>            <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">;</span>
+<span class="c1">// add some space on the line start</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">textLineStart</span>  <span class="o">=</span> <span class="nb">str_repeat</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="mi">6</span><span class="p">);</span>
+<span class="c1">// default values for unassigned module types</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">textDark</span>       <span class="o">=</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;██&#39;</span><span class="p">,</span> <span class="mi">253</span><span class="p">);</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">textLight</span>      <span class="o">=</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;░░&#39;</span><span class="p">,</span> <span class="mi">253</span><span class="p">);</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>   <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;██&#39;</span><span class="p">,</span> <span class="mi">124</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;░░&#39;</span><span class="p">,</span> <span class="mi">124</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;██&#39;</span><span class="p">,</span> <span class="mi">124</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;██&#39;</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;░░&#39;</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION_DARK</span>   <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;██&#39;</span><span class="p">,</span> <span class="mi">21</span><span class="p">),</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION</span>        <span class="o">=&gt;</span> <span class="nx">QRString</span><span class="o">::</span><span class="na">ansi8</span><span class="p">(</span><span class="s1">&#39;░░&#39;</span><span class="p">,</span> <span class="mi">21</span><span class="p">),</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span>   <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$qrcode</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="s2">&quot;</span><span class="se">\n\n</span><span class="si">$qrcode</span><span class="se">\n\n</span><span class="s2">&quot;</span><span class="p">;</span>
+</pre></div>
+</div>
+</section>
+<section id="json">
+<h2>JSON<a class="headerlink" href="#json" title="Link to this heading"></a></h2>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>     <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">STRING_JSON</span><span class="p">;</span>
+<span class="c1">// output the integer values ($M_TYPE) held in the matrix object</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">jsonAsBooleans</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: application/json&#39;</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">text()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>string output</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">json()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>JSON output</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansi8(string</span> <span class="pre">$str,</span> <span class="pre">int</span> <span class="pre">$color,</span> <span class="pre">bool</span> <span class="pre">$background</span> <span class="pre">=</span> <span class="pre">null)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>a little helper to create a proper ANSI 8-bit color escape sequence</p></td>
+</tr>
+</tbody>
+</table>
+</section>
 <section id="options-that-affect-this-module">
 <h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -282,10 +375,16 @@
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$jsonAsBooleans</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLineStart</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 </tbody>
@@ -299,37 +398,37 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageBase64</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<td><p>not implemented</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
 <td><p>N/A</p></td>
 </tr>
 </tbody>

+ 15 - 0
Usage-Advanced-usage.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Usage-Installation.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Usage-Overview.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
Usage-Quickstart.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 1 - 2
_sources/API-QROptions.md.txt

@@ -57,8 +57,7 @@ Inherited from [`SettingsContainerAbstract`](https://github.com/chillerlan/php-s
 | `$scale`                       | `int`          | `5`                             | *                                       | Pixel size of a QR code module                                                                                                                                                          |
 | `$imageTransparent`            | `bool`         | `true`                          | *                                       | Toggle transparency (no jpeg support), QRGdImage and QRImagick only. The given `QROptions::$transparencyColor` is set as transparent                                                    |
 | `$transparencyColor`           | `mixed`        | `null`                          | a valid GD or Imagick color value       | Sets a transparency color for when `QROptions::$imageTransparent` is set to true. Defaults to `QROptions::$bgColor`.                                                                    |
-| `$pngCompression`              | `int`          | `-1`                            | `-1...9`                                | `imagepng()` compression level, -1 = auto                                                                                                                                               |
-| `$jpegQuality`                 | `int`          | `85`                            | `0...100`                               | `imagejpeg()` quality                                                                                                                                                                   |
+| `$quality`                     | `int`          | `-1`                            | *                                       | compression quality setting for `imagejpeg()`, `imagepng()`, `imagewebp()`, `Imagick::setImageCompressionQuality()`                                                                     |
 | `$imagickFormat`               | `string`       | `'png'`                         | *                                       | ImageMagick output type, see `Imagick::setType()`                                                                                                                                       |
 | `$cssClass`                    | `string`       | `'qrcode'`                      | *                                       | A common css class                                                                                                                                                                      |
 | `$markupDark`                  | `string`       | `'#000'`                        | *                                       | Markup substitute for dark (CSS value)                                                                                                                                                  |

+ 67 - 12
_sources/Built-In-Output-QREps.md.txt

@@ -1,26 +1,81 @@
 # QREps
 
-[Class `QREps`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php): [Encapsulated Postscript](https://en.wikipedia.org/wiki/Encapsulated_PostScript) (EPS) output
+[Class `QREps`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php): [Encapsulated Postscript](https://en.wikipedia.org/wiki/Encapsulated_PostScript) (EPS) output.
+
+
+## Example
+
+See: [EPS example](https://github.com/chillerlan/php-qrcode/blob/main/examples/eps.php)
+
+Set the options:
+
+```php
+$options = new QROptions;
+
+$options->outputType       = QROutputInterface::EPS;
+$options->scale            = 5;
+$options->drawLightModules = false;
+// colors can be specified either as [R, G, B] or [C, M, Y, K] (0-255)
+$options->bgColor          = [222, 222, 222];
+$options->moduleValues     = [
+	QRMatrix::M_FINDER_DARK    => [0, 63, 255],    // dark (true)
+	QRMatrix::M_FINDER_DOT     => [0, 63, 255],    // finder dot, dark (true)
+	QRMatrix::M_FINDER         => [233, 233, 233], // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => [255, 0, 255],
+	QRMatrix::M_ALIGNMENT      => [233, 233, 233],
+	QRMatrix::M_DATA_DARK      => [0, 0, 0],
+	QRMatrix::M_DATA           => [233, 233, 233],
+];
+```
+
+
+Render and save to file:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$file = __DIR__.'/qrcode.eps';
+
+(new QRCode($options))->render($data, $file);
+```
+
+
+Push as file download in a browser:
+
+```php
+header('Content-type: application/postscript');
+header('Content-Disposition: filename="qrcode.eps"');
+
+echo (new QRCode($options))->render($data);
+
+exit;
+```
+
+## Additional methods
+
+| method                                            | return   | description                                |
+|---------------------------------------------------|----------|--------------------------------------------|
+| (protected) `formatColor(array $values)`          | `string` | Set the color format string                |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `string` | Returns a path segment for a single module |
 
 
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$drawLightModules`            | `bool`         |
-| `$connectPaths`                | `bool`         |
-| `$excludeFromConnect`          | `array`        |
-| `$scale`                       | `int`          |
+| property              | type    |
+|-----------------------|---------|
+| `$bgColor`            | `array` |
+| `$connectPaths`       | `bool`  |
+| `$drawLightModules`   | `bool`  |
+| `$excludeFromConnect` | `array` |
+| `$scale`              | `int`   |
 
 
 ### Options that have no effect
 
 | property               | reason          |
 |------------------------|-----------------|
-| `$returnResource`      | N/A             |
-| `$imageBase64`         | N/A             |
-| `$bgColor`             | not implemented |
-| `$drawCircularModules` | not implemented |
 | `$circleRadius`        | not implemented |
-| `$keepAsSquare`        | not implemented |
+| `$drawCircularModules` | not implemented |
+| `$outputBase64`        | N/A             |
 | `$imageTransparent`    | N/A             |
+| `$keepAsSquare`        | not implemented |
+| `$returnResource`      | N/A             |

+ 77 - 18
_sources/Built-In-Output-QRFpdf.md.txt

@@ -3,27 +3,86 @@
 [Class `QRFpdf`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php): [Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) output via [FPDF](https://github.com/setasign/fpdf)
 
 
-## Options that affect this module
+## Example
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$returnResource`              | `bool`         |
-| `$imageBase64`                 | `bool`         |
-| `$bgColor`                     | `mixed`        |
-| `$drawLightModules`            | `bool`         |
-| `$fpdfMeasureUnit`             | `string`       |
+See: [FPDF example](https://github.com/chillerlan/php-qrcode/blob/main/examples/fpdf.php)
 
+Set the options:
 
-### Options that have no effect
+```php
+$options = new QROptions;
+
+$options->outputType       = QROutputInterface::FPDF;
+$options->scale            = 5;
+$options->fpdfMeasureUnit  = 'mm'; // pt, mm, cm, in
+$options->bgColor          = [222, 222, 222]; // [R, G, B]
+$options->drawLightModules = false;
+$options->moduleValues     = [
+	QRMatrix::M_FINDER_DARK    => [0, 63, 255],    // dark (true)
+	QRMatrix::M_FINDER_DOT     => [0, 63, 255],    // finder dot, dark (true)
+	QRMatrix::M_FINDER         => [255, 255, 255], // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => [255, 0, 255],
+	QRMatrix::M_ALIGNMENT      => [255, 255, 255],
+	QRMatrix::M_DATA_DARK      => [0, 0, 0],
+	QRMatrix::M_DATA           => [255, 255, 255],
+];
+```
+
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> data:application/pdf;base64,...
+
+echo $out;
+```
+
+
+Return the `FPDF` instance (will ignore other output options):
+
+```php
+$options->returnResource = true;
+
+/** @var \FPDF $fpdf */
+$fpdf = (new QRCode($options))->render($data);
 
-| property               | reason          |
-|------------------------|-----------------|
-| `$drawCircularModules` | N/A             |
-| `$circleRadius`        | N/A             |
-| `$keepAsSquare`        | N/A             |
-| `$connectPaths`        | N/A             |
-| `$excludeFromConnect`  | N/A             |
-| `$scale`               | not implemented |
-| `$imageTransparent`    | N/A             |
+// do stuff with the FPDF instance...
 
+// ...dump output
+header('application/pdf');
+
+echo $fpdf->Output('S');
+```
+
+
+## Additional methods
+
+| method                                            | return | description                  |
+|---------------------------------------------------|--------|------------------------------|
+| (protected) `initFPDF()`                          | `FPDF` | Initializes an FPDF instance |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `void` | Renders a single module      |
+
+
+## Options that affect this module
+
+| property            | type     |
+|---------------------|----------|
+| `$bgColor`          | `array`  |
+| `$drawLightModules` | `bool`   |
+| `$fpdfMeasureUnit`  | `string` |
+| `$outputBase64`     | `bool`   |
+| `$returnResource`   | `bool`   |
+| `$scale`            | `ìnt`    |
+
+
+### Options that have no effect
 
+| property               | reason |
+|------------------------|--------|
+| `$circleRadius`        | N/A    |
+| `$connectPaths`        | N/A    |
+| `$drawCircularModules` | N/A    |
+| `$excludeFromConnect`  | N/A    |
+| `$imageTransparent`    | N/A    |
+| `$keepAsSquare`        | N/A    |

+ 95 - 18
_sources/Built-In-Output-QRGdImage.md.txt

@@ -3,27 +3,104 @@
 [Class `QRGdImage`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php): [GdImage](https://www.php.net/manual/book.image) raster graphic output (GIF, JPG, PNG)
 
 
+## Example
+
+See: [GdImage example](https://github.com/chillerlan/php-qrcode/blob/main/examples/image.php)
+
+Set the options:
+```php
+$options = new QROptions;
+
+// $outputType can be one of: GDIMAGE_BMP, GDIMAGE_GIF, GDIMAGE_JPG, GDIMAGE_PNG, GDIMAGE_WEBP
+$options->outputType          = QROutputInterface::GDIMAGE_WEBP;
+$options->quality             = 90;
+// the size of one qr module in pixels
+$options->scale               = 20;
+$options->bgColor             = [200, 150, 200];
+$options->imageTransparent    = true;
+// the color that will be set transparent
+// @see https://www.php.net/manual/en/function.imagecolortransparent
+$options->transparencyColor   = [200, 150, 200];
+$options->drawCircularModules = true;
+$options->drawLightModules    = true;
+$options->circleRadius        = 0.4;
+$options->keepAsSquare        = [
+	QRMatrix::M_FINDER_DARK,
+	QRMatrix::M_FINDER_DOT,
+	QRMatrix::M_ALIGNMENT_DARK,
+];
+$options->moduleValues        = [
+	QRMatrix::M_FINDER_DARK    => [0, 63, 255], // dark (true)
+	QRMatrix::M_FINDER_DOT     => [0, 63, 255], // finder dot, dark (true)
+	QRMatrix::M_FINDER         => [233, 233, 233], // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => [255, 0, 255],
+	QRMatrix::M_ALIGNMENT      => [233, 233, 233],
+	QRMatrix::M_DATA_DARK      => [0, 0, 0],
+	QRMatrix::M_DATA           => [233, 233, 233],
+];
+```
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> data:image/webp;base64,...
+
+printf('<img alt="%s" src="%s" />', $alt, $out);
+```
+
+
+Return the `GdImage` instance/resource (will ignore other output options):
+
+```php
+$options->returnResource = true;
+
+/** @var \GdImage|resource $gdImage */
+$gdImage = (new QRCode($options))->render($data);
+
+// do stuff with the GdImage instance...
+$size = imagesx($gdImage);
+// ...
+
+// ...dump output
+header('Content-type: image/jpeg');
+
+imagejpeg($gdImage);
+imagedestroy($gdImage);
+```
+
+
+## Additional methods
+
+| method                                            | return   | description                                                       |
+|---------------------------------------------------|----------|-------------------------------------------------------------------|
+| (protected) `drawImage()`                         | `void`   | Draws the QR image                                                |
+| (protected) `dumpImage()`                         | `string` | Creates the final image by calling the desired GD output function |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `void`   | Renders a single module                                           |
+| (protected) `setBgColor()`                        | `void`   | Sets the background color                                         |
+| (protected) `setTransparencyColor()`              | `void`   | Sets the transparency color                                       |
+
+
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$returnResource`              | `bool`         |
-| `$imageBase64`                 | `bool`         |
-| `$bgColor`                     | `mixed`        |
-| `$drawLightModules`            | `bool`         |
-| `$drawCircularModules`         | `bool`         |
-| `$circleRadius`                | `float`        |
-| `$keepAsSquare`                | `array`        |
-| `$scale`                       | `int`          |
-| `$imageTransparent`            | `bool`         |
-| `$transparencyColor`           | `mixed`        |
-| `$pngCompression`              | `int`          |
-| `$jpegQuality`                 | `int`          |
+| property               | type           |
+|------------------------|----------------|
+| `$bgColor`             | `mixed`        |
+| `$circleRadius`        | `float`        |
+| `$drawCircularModules` | `bool`         |
+| `$drawLightModules`    | `bool`         |
+| `$imageTransparent`    | `bool`         |
+| `$quality`             | `int`          |
+| `$keepAsSquare`        | `array`        |
+| `$outputBase64`        | `bool`         |
+| `$returnResource`      | `bool`         |
+| `$scale`               | `int`          |
+| `$transparencyColor`   | `mixed`        |
 
 
 ### Options that have no effect
 
-| property                       | reason |
-|--------------------------------|--------|
-| `$connectPaths`                | N/A    |
-| `$excludeFromConnect`          | N/A    |
+| property              | reason |
+|-----------------------|--------|
+| `$connectPaths`       | N/A    |
+| `$excludeFromConnect` | N/A    |

+ 94 - 19
_sources/Built-In-Output-QRImagick.md.txt

@@ -9,28 +9,103 @@ Please follow the installation guides for your operating system:
 - [PHP Imagick by Example](https://phpimagick.com/) ([github.com/Imagick/ImagickDemos](https://github.com/Imagick/ImagickDemos))
 
 
+## Example
+
+See: [ImageMagick example](https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php)
+
+Set the options:
+```php
+$options = new QROptions;
+
+$options->outputType          = QROutputInterface::IMAGICK;
+$options->imagickFormat       = 'webp'; // e.g. png32, jpeg, webp
+$options->quality             = 90;
+$options->scale               = 20;
+$options->bgColor             = '#ccccaa';
+$options->imageTransparent    = true;
+$options->transparencyColor   = '#ccccaa';
+$options->drawLightModules    = true;
+$options->drawCircularModules = true;
+$options->circleRadius        = 0.4;
+$options->keepAsSquare        = [
+	QRMatrix::M_FINDER_DARK,
+	QRMatrix::M_FINDER_DOT,
+	QRMatrix::M_ALIGNMENT_DARK,
+];
+$options->moduleValues        = [
+	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
+	QRMatrix::M_FINDER_DOT     => '#A71111', // finder dot, dark (true)
+	QRMatrix::M_FINDER         => '#FFBFBF', // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => '#A70364',
+	QRMatrix::M_ALIGNMENT      => '#FFC9C9',
+	QRMatrix::M_VERSION_DARK   => '#650098',
+	QRMatrix::M_VERSION        => '#E0B8FF',
+];
+```
+
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> data:image/webp;base64,...
+
+printf('<img alt="%s" src="%s" />', $alt, $out);
+```
+
+
+Return the `Imagick` instance (will ignore other output options):
+
+```php
+$options->returnResource = true;
+
+/** @var \Imagick $imagick */
+$imagick = (new QRCode($options))->render($data);
+
+// do stuff with the Imagick instance...
+$imagick->scaleImage(150, 150, true);
+// ...
+
+// ...dump output
+$imagick->setImageFormat('png32');
+
+header('Content-type: image/png');
+
+echo $imagick->getImageBlob();
+```
+
+
+## Additional methods
+
+| method                               | return | description                                |
+|--------------------------------------|--------|--------------------------------------------|
+| (protected) `drawImage()`            | `void` | Creates the QR image via ImagickDraw       |
+| (protected) `module()`               | `void` | Draws a single pixel at the given position |
+| (protected) `setBgColor()`           | `void` | Sets the background color                  |
+| (protected) `setTransparencyColor()` | `void` | Sets the transparency color                |
+
+
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$returnResource`              | `bool`         |
-| `$imageBase64`                 | `bool`         |
-| `$bgColor`                     | `mixed`        |
-| `$drawLightModules`            | `bool`         |
-| `$drawCircularModules`         | `bool`         |
-| `$circleRadius`                | `float`        |
-| `$keepAsSquare`                | `array`        |
-| `$scale`                       | `int`          |
-| `$imageTransparent`            | `bool`         |
-| `$transparencyColor`           | `mixed`        |
-| `$imagickFormat`               | `string`       |
+| property               | type     |
+|------------------------|----------|
+| `$bgColor`             | `mixed`  |
+| `$circleRadius`        | `float`  |
+| `$drawCircularModules` | `bool`   |
+| `$drawLightModules`    | `bool`   |
+| `$imageTransparent`    | `bool`   |
+| `$imagickFormat`       | `string` |
+| `$keepAsSquare`        | `array`  |
+| `$outputBase64`        | `bool`   |
+| `$quality`             | `int`    |
+| `$returnResource`      | `bool`   |
+| `$scale`               | `int`    |
+| `$transparencyColor`   | `mixed`  |
 
 
 ### Options that have no effect
 
-| property                       | reason            |
-|--------------------------------|-------------------|
-| `$connectPaths`                | N/A               |
-| `$excludeFromConnect`          | N/A               |
-| `$pngCompression`              | GdImage exclusive |
-| `$jpegQuality`                 | GdImage exclusive |
+| property              | reason            |
+|-----------------------|-------------------|
+| `$connectPaths`       | N/A               |
+| `$excludeFromConnect` | N/A               |

+ 100 - 20
_sources/Built-In-Output-QRMarkupHTML.md.txt

@@ -1,29 +1,109 @@
 # QRMarkupHTML
 
-[Class `QRMarkupHTML`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupHTML.php): HTML output (a cheap markup substitute when SVG is not available or not an option)
+[Class `QRMarkupHTML`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupHTML.php): HTML output
+
+This class is a cheap markup substitute for when SVG is not available or not an option (which was an issue before ca 2012).
+As a general rule: if you plan to display the QR Code in a web browser, you should be using the [SVG output](./Built-In-Output-QRMarkupSVG.md).
+
+
+## Example
+
+See: [HTML example](https://github.com/chillerlan/php-qrcode/blob/main/examples/html.php)
+
+Set the options:
+
+```php
+$options = new QROptions;
+
+$options->outputType   = QROutputInterface::MARKUP_HTML;
+$options->cssClass     = 'qrcode';
+// default values for unassigned module types
+$options->markupDark   = '#555';
+$options->markupLight  = '#CCC';
+$options->moduleValues = [
+	// finder
+	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
+	QRMatrix::M_FINDER_DOT     => '#A71111', // finder dot, dark (true)
+	QRMatrix::M_FINDER         => '#FFBFBF', // light (false)
+	// alignment
+	QRMatrix::M_ALIGNMENT_DARK => '#A70364',
+	QRMatrix::M_ALIGNMENT      => '#FFC9C9',
+];
+```
+
+Output in a HTML document (via PHP):
+
+```php
+<?php
+
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data);
+
+header('Content-type: text/html');
+
+?>
+<!DOCTYPE html>
+<html lang="none">
+<head>
+	<meta charset="UTF-8"/>
+	<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	<title>QRCode HTML Example</title>
+	<style>
+		div.qrcode{
+			margin: 1em;
+		}
+
+		/* rows */
+		div.qrcode > div {
+			height: 10px;
+		}
+
+		/* modules */
+		div.qrcode > div > span {
+			display: inline-block;
+			width: 10px;
+			height: 10px;
+		}
+	</style>
+</head>
+<body>
+<!-- php poutput -->
+<?php echo $out; ?>
+</body>
+</html>
+```
+
+
+## Additional methods
+
+| method                                       | return   | description                                                             |
+|----------------------------------------------|----------|-------------------------------------------------------------------------|
+| (protected) `createMarkup(bool $saveToFile)` | `string` | Returns the fully parsed and rendered markup string for the given input |
+| (protected) `getCssClass(int $M_TYPE = 0)`   | `string` | Returns a string with all css classes for the current element           |
+
 
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$eol`                         | `string`       |
-| `$cssClass`                    | `string`       |
-| `$markupDark`                  | `string`       |
-| `$markupLight`                 | `string`       |
+| property       | type     |
+|----------------|----------|
+| `$cssClass`    | `string` |
+| `$eol`         | `string` |
+| `$markupDark`  | `string` |
+| `$markupLight` | `string` |
 
 
 ### Options that have no effect
 
-| property                       | reason  |
-|--------------------------------|---------|
-| `$returnResource`              | N/A     |
-| `$imageBase64`                 | N/A     |
-| `$bgColor`                     | via CSS |
-| `$drawLightModules`            | N/A     |
-| `$drawCircularModules`         | N/A     |
-| `$circleRadius`                | N/A     |
-| `$keepAsSquare`                | N/A     |
-| `$connectPaths`                | N/A     |
-| `$excludeFromConnect`          | N/A     |
-| `$scale`                       | via CSS |
-| `$imageTransparent`            | N/A     |
+| property               | reason  |
+|------------------------|---------|
+| `$bgColor`             | via CSS |
+| `$circleRadius`        | N/A     |
+| `$connectPaths`        | N/A     |
+| `$drawCircularModules` | N/A     |
+| `$drawLightModules`    | N/A     |
+| `$excludeFromConnect`  | N/A     |
+| `$imageTransparent`    | N/A     |
+| `$keepAsSquare`        | N/A     |
+| `$outputBase64`        | N/A     |
+| `$returnResource`      | N/A     |
+| `$scale`               | via CSS |

+ 94 - 26
_sources/Built-In-Output-QRMarkupSVG.md.txt

@@ -2,35 +2,103 @@
 
 [Class `QRMarkupSVG`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php): [Scalable Vector Graphics](https://developer.mozilla.org/en-US/docs/Glossary/SVG) (SVG) output
 
+## Example
+
+See: [ImageMagick example](https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php)
+
+Set the options:
+
+```php
+$options = new QROptions;
+
+$options->version             = 7;
+$options->outputType          = QROutputInterface::MARKUP_SVG;
+// if set to false, the light modules won't be rendered
+$options->drawLightModules    = true;
+// empty the default value to remove the fill* and opacity* attributes from the <path> elements
+$options->markupDark          = '';
+$options->markupLight         = '';
+// draw the modules as circles isntead of squares
+$options->drawCircularModules = true;
+$options->circleRadius        = 0.4;
+// connect paths to avoid render glitches
+// @see https://github.com/chillerlan/php-qrcode/issues/57
+$options->connectPaths        = true;
+// keep modules of these types as square
+$options->keepAsSquare        = [
+	QRMatrix::M_FINDER_DARK,
+	QRMatrix::M_FINDER_DOT,
+	QRMatrix::M_ALIGNMENT_DARK,
+];
+// add a gradient via the <defs> element
+// @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs
+// @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
+$options->svgDefs             = '
+	<linearGradient id="rainbow" x1="1" y2="1">
+		<stop stop-color="#e2453c" offset="0"/>
+		<stop stop-color="#e07e39" offset="0.2"/>
+		<stop stop-color="#e5d667" offset="0.4"/>
+		<stop stop-color="#51b95b" offset="0.6"/>
+		<stop stop-color="#1e72b7" offset="0.8"/>
+		<stop stop-color="#6f5ba7" offset="1"/>
+	</linearGradient>
+	<style><![CDATA[
+		.dark{fill: url(#rainbow);}
+		.light{fill: #eee;}
+	]]></style>';
+```
+
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> data:image/svg+xml;base64,PD94bWwgdmVyc2...
+
+printf('<img alt="%s" src="%s" />', $alt, $out);
+```
+
+
+## Additional methods
+
+| method                                            | return   | description                                                   |
+|---------------------------------------------------|----------|---------------------------------------------------------------|
+| (protected) `getCssClass(int $M_TYPE = 0)`        | `string` | returns a string with all css classes for the current element |
+| (protected) `header()`                            | `string` | returns the `<svg>` header with the given options parsed      |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `string` | returns a path segment for a single module                    |
+| (protected) `path(string $path, int $M_TYPE)`     | `string` | renders and returns a single `<path>` element                 |
+| (protected) `paths()`                             | `string` | returns one or more SVG `<path>` elements                     |
+
+
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$imageBase64`                 | `bool`         |
-| `$eol`                         | `string`       |
-| `$drawLightModules`            | `bool`         |
-| `$drawCircularModules`         | `bool`         |
-| `$circleRadius`                | `float`        |
-| `$keepAsSquare`                | `array`        |
-| `$connectPaths`                | `bool`         |
-| `$excludeFromConnect`          | `array`        |
-| `$cssClass`                    | `string`       |
-| `$markupDark`                  | `string`       |
-| `$markupLight`                 | `string`       |
-| `$svgAddXmlHeader`             | `bool`         |
-| `$svgOpacity`                  | `float`        |
-| `$svgDefs`                     | `string`       |
-| `$svgViewBoxSize`              | `int\|null`    |
-| `$svgPreserveAspectRatio`      | `string`       |
-| `$svgWidth`                    | `string\|null` |
-| `$svgHeight`                   | `string\|null` |
+| property                  | type           |
+|---------------------------|----------------|
+| `$circleRadius`           | `float`        |
+| `$connectPaths`           | `bool`         |
+| `$cssClass`               | `string`       |
+| `$drawCircularModules`    | `bool`         |
+| `$drawLightModules`       | `bool`         |
+| `$eol`                    | `string`       |
+| `$excludeFromConnect`     | `array`        |
+| `$keepAsSquare`           | `array`        |
+| `$markupDark`             | `string`       |
+| `$markupLight`            | `string`       |
+| `$outputBase64`           | `bool`         |
+| `$svgAddXmlHeader`        | `bool`         |
+| `$svgDefs`                | `string`       |
+| `$svgHeight`              | `string\|null` |
+| `$svgOpacity`             | `float`        |
+| `$svgPreserveAspectRatio` | `string`       |
+| `$svgViewBoxSize`         | `int\|null`    |
+| `$svgWidth`               | `string\|null` |
 
 
 ### Options that have no effect
 
-| property            | reason                                                                                                                                                                                                |
-|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `$returnResource`   | N/A                                                                                                                                                                                                   |
-| `$bgColor`          | background color can be achieved via CSS, `<defs>` or attributes, see also [php-qrcode/discussions/199 (comment)](https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471) |
-| `$scale`            | `$scale` is intended for raster image types, use `$svgViewBoxSize` instead                                                                                                                            |
-| `$imageTransparent` | SVG is transparent by default                                                                                                                                                                         |
+| property            | reason                                                                                                                                                                                                            |
+|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `$bgColor`          | background color can be achieved via CSS, attributes or the `<defs>` element, see also [php-qrcode/discussions/199 (comment)](https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471) |
+| `$imageTransparent` | SVG is - similar to a HTML element - transparent by default                                                                                                                                                       |
+| `$returnResource`   | N/A                                                                                                                                                                                                               |
+| `$scale`            | `$scale` (pixel size of a qr module) is intended for raster image types, use `$svgViewBoxSize` instead                                                                                                            |

+ 87 - 18
_sources/Built-In-Output-QRString.md.txt

@@ -2,28 +2,97 @@
 
 [Class `QRString`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRString.php): String output: plain text, [JSON](https://developer.mozilla.org/en-US/docs/Glossary/JSON)
 
+## Plain text
+
+Render in a CLI console, using [ANSI colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) and [block elements](https://en.wikipedia.org/wiki/Block_Elements):
+
+```php
+// a little helper to a create proper ANSI 8-bit color escape sequence
+function ansi8(string $str, int $color, bool $background = false):string{
+	$color      = max(0, min($color, 255));
+	$background = ($background ? 48 : 38);
+
+	return sprintf("\x1b[%s;5;%sm%s\x1b[0m", $background, $color, $str);
+}
+
+$options = new QROptions;
+
+$options->outputType     = QROutputInterface::STRING_TEXT;
+$options->eol            = "\n";
+// add some space on the line start
+$options->textLineStart  = str_repeat(' ', 6);
+// default values for unassigned module types
+$options->textDark       = QRString::ansi8('██', 253);
+$options->textLight      = QRString::ansi8('░░', 253);
+$options->moduleValues   = [
+	QRMatrix::M_FINDER_DARK    => QRString::ansi8('██', 124),
+	QRMatrix::M_FINDER         => QRString::ansi8('░░', 124),
+	QRMatrix::M_FINDER_DOT     => QRString::ansi8('██', 124),
+	QRMatrix::M_ALIGNMENT_DARK => QRString::ansi8('██', 2),
+	QRMatrix::M_ALIGNMENT      => QRString::ansi8('░░', 2),
+	QRMatrix::M_VERSION_DARK   => QRString::ansi8('██', 21),
+	QRMatrix::M_VERSION        => QRString::ansi8('░░', 21),
+];
+```
+
+
+Output:
+
+```php
+$data   = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$qrcode = (new QRCode($options))->render($data);
+
+echo "\n\n$qrcode\n\n";
+```
+
+
+## JSON
+
+```php
+$options = new QROptions;
+
+$options->outputType     = QROutputInterface::STRING_JSON;
+// output the integer values ($M_TYPE) held in the matrix object
+$options->jsonAsBooleans = false;
+
+header('Content-type: application/json');
+
+echo (new QRCode($options))->render($data);
+```
+
+
+## Additional methods
+
+| method                                                    | return   | description                                                         |
+|-----------------------------------------------------------|----------|---------------------------------------------------------------------|
+| (protected) `text()`                                      | `string` | string output                                                       |
+| (protected) `json()`                                      | `string` | JSON output                                                         |
+| `ansi8(string $str, int $color, bool $background = null)` | `string` | a little helper to create a proper ANSI 8-bit color escape sequence |
+
 
 ## Options that affect this module
 
-| property                       | type           |
-|--------------------------------|----------------|
-| `$eol`                         | `string`       |
-| `$textDark`                    | `string`       |
-| `$textLight`                   | `string`       |
+| property          | type     |
+|-------------------|----------|
+| `$eol`            | `string` |
+| `$jsonAsBooleans` | `bool`   |
+| `$textDark`       | `string` |
+| `$textLight`      | `string` |
+| `$textLineStart`  | `string` |
 
 
 ### Options that have no effect
 
-| property                       | reason          |
-|--------------------------------|-----------------|
-| `$returnResource`              | N/A             |
-| `$imageBase64`                 | N/A             |
-| `$bgColor`                     | N/A             |
-| `$drawLightModules`            | not implemented |
-| `$drawCircularModules`         | N/A             |
-| `$circleRadius`                | N/A             |
-| `$keepAsSquare`                | N/A             |
-| `$connectPaths`                | N/A             |
-| `$excludeFromConnect`          | N/A             |
-| `$scale`                       | N/A             |
-| `$imageTransparent`            | N/A             |
+| property               | reason          |
+|------------------------|-----------------|
+| `$bgColor`             | N/A             |
+| `$circleRadius`        | N/A             |
+| `$connectPaths`        | N/A             |
+| `$drawCircularModules` | N/A             |
+| `$drawLightModules`    | not implemented |
+| `$excludeFromConnect`  | N/A             |
+| `$imageTransparent`    | N/A             |
+| `$keepAsSquare`        | N/A             |
+| `$outputBase64`        | N/A             |
+| `$returnResource`      | N/A             |
+| `$scale`               | N/A             |

+ 15 - 0
genindex.html

@@ -96,6 +96,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -103,6 +105,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -110,6 +114,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -117,6 +123,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -124,6 +132,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -131,6 +141,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -138,6 +150,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 30 - 0
index.html

@@ -98,6 +98,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -105,6 +107,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -112,6 +116,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -119,6 +125,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -126,6 +134,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -133,6 +143,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -140,6 +152,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -326,6 +341,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -333,6 +350,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -340,6 +359,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -347,6 +368,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -354,6 +377,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -361,6 +386,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -368,6 +395,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

+ 15 - 0
search.html

@@ -99,6 +99,8 @@
 <p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -106,6 +108,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -113,6 +117,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -120,6 +126,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -127,6 +135,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -134,6 +144,8 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>
@@ -141,6 +153,9 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output-QRString.html">QRString</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#plain-text">Plain text</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#json">JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#additional-methods">Additional methods</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="Built-In-Output-QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
 </ul>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
searchindex.js


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است